Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BLL проектот #13

Open
goce-smilevski opened this issue Apr 15, 2016 · 8 comments
Open

BLL проектот #13

goce-smilevski opened this issue Apr 15, 2016 · 8 comments
Assignees

Comments

@goce-smilevski
Copy link
Collaborator

goce-smilevski commented Apr 15, 2016

Сега кога се компајлираат проектите (како-така :)), редно е да го додајме и BLL проектот. Можи да е и празен, ама треба да е по стандардите опишани во #1, со сите нишани.

marija8888 pushed a commit that referenced this issue Apr 17, 2016
Kukunoska added a commit that referenced this issue Apr 17, 2016
* 'master' of https://github.com/Kukunoska/LearnByPractice:
  #11
  #13 + dodadena klasa za vid na organizacija
  #11 #12
  #11 #12
  #13
  ...
  #5
  документација за Domain
  документација за Domain
  Domain документација
  документација за Domain
  документација за Domain
  документација за Domain
  Create f.txt
  Delete Domain.XML

# Conflicts:
#	Documentation/Domain.XML
@goce-smilevski
Copy link
Collaborator Author

Коментари во github на кирилица :)
Добро ќе дојди и користење на опцијата Remove Unused Usings и Ctrl+K+D (види во #1 за стилските фигури).
Глобалните информации за assembly-то да се стандардизират (види во #1 и #5)
Името на file-от Manager.cs е паметно да се софпаѓа со името на класата ManagerBase.
Кога сме веќе кај таја класа, шо ќе ни е, ако не ја употребиме негде :) ?
Накратко, нејзината намена е да биди основна класа од која се наследени сите manager класи во BLL проектот. Во неја ќе имплементираме корисен код кој ќе се користи од сите ниф.

marija8888 pushed a commit that referenced this issue Apr 18, 2016
@goce-smilevski
Copy link
Collaborator Author

Според архитектурата се договорифме Manager класите да користат услуги од Repository класите. Вака како што е сега, во Manager класите се влегва во бесконечна рекурзија (методот се повиква самиот себе).

@goce-smilevski
Copy link
Collaborator Author

Стандардизирањето на заедничките информации е ок.
Не треба да се тргни ManagerBase класата, таја е основна за сите други Manager класи (претходната верзија беше ок, мислам дека претпретходната не ја користеше како основна класа).
using директивите можиш да ги исчистиш на крајот, ко ќе видиш дека кодот се компајлира и дека е по пропис.Десен клик на using секцијата / Remove unused usings ќе ти ги остај само тие шо навистина требат.

Зборот ми беше дека, на пример во следниот код:

    public class KompanijaManager 
    {
        public KompanijaManager()
        {

        }

        public KompanijaCollection GetAll()
        {
            KompanijaManager repository = new KompanijaManager();
            KompanijaCollection siteKompanii = repository.GetAll();

            return siteKompanii;
        }

Методот GetAll од класата KompanijaManager креира објект од истата класа и пак го повикува истиот метод GetAll. И ова нема крај, ко ќе пробаш да го извршиш ќе заглави во бесконечна рекурзија и ќе јави грешка StackOverflow.

@goce-smilevski
Copy link
Collaborator Author

Наместо:

KompanijaManager repository = new KompanijaManager();

треба да стој:

KompanijaRepository repository = new KompanijaRepository();

Архитектурата која е на сила налага manager класите да користат услуги од repository класите. Така, еден manager објект во било кој негоф метод ќе креира инстанца од соодветниот на него repository објект и ќе повикува негови методи (за почеток).

@marija8888
Copy link
Collaborator

ок сфатено и поправено е тоа ама поради тоа што повеќе не ми функционира мозокот а и имам грешки кај методот insert ќе биде дополнително целосно објавено за извесно време (најбрзо шо можи)

@goce-smilevski
Copy link
Collaborator Author

Таман работа, никој не не' брка, подобро да се почека отколку да се commit-ира код шо не се компајлира. А и испитната сесија малку ќе треба да се испочитува. "Утрото е поумно од вечерта." вели народната поговорка.

marija8888 pushed a commit that referenced this issue Apr 24, 2016
@goce-smilevski
Copy link
Collaborator Author

Тестојте можи слободно да се додават во Tests проектот, во фолдер BLL на исто ниво со Domain (овај проект ќе содржи тестови за трите други проекти). Не мора да се чека на тестојте за DAL проектот, само ќе треба да се ископира connection string-от во app.config за да можи DAL кодот да си го најди. Засега, дури не се пополнети сите референтни табели, можи да се проба само читање на Vid_Organizacija мислам, само за неја има скрипта. За иницијализирање на локалната база се користат publish profile-и (можно е да треба консултација со Јасмина и/или Кристина).

@goce-smilevski
Copy link
Collaborator Author

Доволен е еден App.config file во проектот, во него треба да се додај connection string-от за да можат тестојте да го користат. Хммм .. ако добро памтам, app.config го додадоф на последниот состанок, најверојатно не е вратен при враќањето на измените од лаптопот на Ленче, зато шо не го гледам во проектот. Како и да е, еден такоф app.config file треба да постои во Tests проектот, па еве прилика да се додај.

marija8888 pushed a commit that referenced this issue May 11, 2016
ghost pushed a commit that referenced this issue May 11, 2016
#13 тест методи и #20 поправено
marija8888 pushed a commit that referenced this issue May 30, 2016
#13 тест методи за insert и update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants