示例#1
0
        public ChildItemViewModel MakeChild(RegistrationResponse registrationResponse)
        {
            ChildItemViewModel childItemViewModel = new ChildItemViewModel(_profileService)
            {
                Id   = registrationResponse.Id,
                Name = registrationResponse.FirstName,
                Age  = (DateTime.Now.Year - registrationResponse.DateOfBirth.Year).ToString(),
                //Impersonate = (DateTime.Now.Year - registrationResponse.DateOfBirth.Year) < AGE_RESTRICTION ? IMPERSONATE_IMAGE_PATH : string.Empty,
                IsImpersonateLoginEnabled = (DateTime.Now.Year - registrationResponse.DateOfBirth.Year) < UserProfile.YOUNG_PLAYERS_AGE_LIMIT,
                Profile = _profileFactory.BuildProfileDTO(registrationResponse)
            };

            childItemViewModel.IsAddEmailCommandEnabled = (!childItemViewModel.IsImpersonateLoginEnabled && !registrationResponse.IsEmailConfirmed);

            return(childItemViewModel);
        }
示例#2
0
        public async Task <ChildItemViewModel> GetChildItem(int childId)
        {
            _sharedService.WriteLogs("GetChildItem started by:" + _userSettings.UserName, true);

            try
            {
                var child = await _childRepository.GetByIdAsync(childId);

                Guard.Against.NullChild(childId, child);

                var vm = new ChildItemViewModel()
                {
                    Id            = child.Id,
                    Ediid         = child.Ediid,
                    LocalId       = child.LocalId,
                    ChildNumber   = child.ChildNumber,
                    YearId        = child.YearId,
                    TeacherId     = child.TeacherId,
                    GenderId      = child.GenderId,
                    ChildStatusId = child.ChildStatusId,
                    Dob           = child.Dob,
                    PostalCode    = child.PostalCode,
                    CreatedDate   = child.CreatedDate,
                    CreatedBy     = child.CreatedBy,
                    ModifiedDate  = child.ModifiedDate,
                    ModifiedBy    = child.ModifiedBy
                };

                return(vm);
            }
            catch (Exception ex)
            {
                _sharedService.WriteLogs("GetChildItem failed:" + ex.Message, false);

                var vm = new ChildItemViewModel();

                return(vm);
            }
        }
示例#3
0
        public List <ChildItemViewModel> MakeChildrenItems(IEnumerable <ProfileDTO> profiles)
        {
            List <ChildItemViewModel> childrenItems = new List <ChildItemViewModel>();

            foreach (var item in profiles)
            {
                ChildItemViewModel childItemViewModel = new ChildItemViewModel(_profileService)
                {
                    Id   = item.Id,
                    Name = item.FirstName,
                    Age  = (DateTime.Now.Year - item.DateOfBirth.Year).ToString(),
                    //Impersonate = (DateTime.Now.Year - item.DateOfBirth.Year) < AGE_RESTRICTION ? IMPERSONATE_IMAGE_PATH : string.Empty
                    IsImpersonateLoginEnabled = (DateTime.Now.Year - item.DateOfBirth.Year) < UserProfile.YOUNG_PLAYERS_AGE_LIMIT,
                    Profile = item
                };

                childItemViewModel.IsAddEmailCommandEnabled = (!childItemViewModel.IsImpersonateLoginEnabled && !item.IsEmailConfirmed);

                childrenItems.Add(childItemViewModel);
            }

            return(childrenItems);
        }
示例#4
0
        public async Task UpdateChildAsync(ChildItemViewModel child)
        {
            _sharedService.WriteLogs("UpdateChildAsync started by:" + _userSettings.UserName, true);

            try
            {
                var _child = await _childRepository.GetByIdAsync(child.Id);

                Guard.Against.NullChild(child.Id, _child);

                _child.Ediid         = child.Ediid;
                _child.LocalId       = child.LocalId;
                _child.ChildNumber   = child.ChildNumber;
                _child.YearId        = child.YearId;
                _child.TeacherId     = child.TeacherId.Value;
                _child.GenderId      = child.GenderId;
                _child.Dob           = child.Dob;
                _child.PostalCode    = child.PostalCode;
                _child.ChildStatusId = child.ChildStatusId;
                _child.ModifiedDate  = DateTime.Now;
                _child.ModifiedBy    = _userSettings.UserName;

                await _childRepository.UpdateAsync(_child);

                var childdemog = _dbContext.QuestionnairesDataDemographics.Where(p => p.ChildId == child.Id).FirstOrDefault();

                childdemog.Dob        = child.Dob;
                childdemog.PostalCode = child.PostalCode;
                childdemog.GenderId   = child.GenderId;

                await _questionnairesDataDemographic.UpdateAsync(childdemog);
            }
            catch (Exception ex)
            {
                _sharedService.WriteLogs("UpdateChildAsync failed:" + ex.Message, false);
            }
        }
示例#5
0
        public async Task <int> CreateChildAsync(ChildItemViewModel child)
        {
            _sharedService.WriteLogs("CreateChildAsync started by:" + _userSettings.UserName, true);

            try
            {
                var _child = new Child();

                _child.Ediid         = child.Ediid;
                _child.LocalId       = child.LocalId;
                _child.ChildNumber   = child.ChildNumber;
                _child.YearId        = child.YearId;
                _child.TeacherId     = child.TeacherId.Value;
                _child.GenderId      = child.GenderId;
                _child.Dob           = child.Dob;
                _child.PostalCode    = child.PostalCode;
                _child.ChildStatusId = child.ChildStatusId;
                _child.CreatedDate   = DateTime.Now;
                _child.CreatedBy     = _userSettings.UserName;
                _child.ModifiedDate  = DateTime.Now;
                _child.ModifiedBy    = _userSettings.UserName;

                await _childRepository.AddAsync(_child);

                var provinceid   = 0;
                var provincename = string.Empty;

                var provinceedicodestring = child.Ediid.Substring(2, 2);
                var provinceedicode       = int.Parse(provinceedicodestring);
                var countryid             = _dbContext.Provinces.Where(p => p.EDICode == provinceedicode).FirstOrDefault().CountryID;
                provinceid   = _dbContext.Provinces.Where(p => p.EDICode == provinceedicode).FirstOrDefault().Id;
                provincename = _dbContext.Provinces.Where(p => p.EDICode == provinceedicode).FirstOrDefault().English.Replace(" ", "");

                var predicate = "p => p." + provincename + " == true && p.YearId == " + child.YearId + " && p.QuestionnaireName == \"Demographics\"";

                var questionnaire = _dbContext.Questionnaires.Where(predicate).FirstOrDefault();

                var predicateA = "p => p." + provincename + " == true && p.YearId == " + child.YearId + " && p.QuestionnaireName == \"Section A\"";

                var questionnaireA = _dbContext.Questionnaires.Where(predicateA).FirstOrDefault();

                var predicateB = "p => p." + provincename + " == true && p.YearId == " + child.YearId + " && p.QuestionnaireName == \"Section B\"";

                var questionnaireB = _dbContext.Questionnaires.Where(predicateB).FirstOrDefault();

                var predicateC = "p => p." + provincename + " == true && p.YearId == " + child.YearId + " && p.QuestionnaireName == \"Section C\"";

                var questionnaireC = _dbContext.Questionnaires.Where(predicateC).FirstOrDefault();

                var predicateD = "p => p." + provincename + " == true && p.YearId == " + child.YearId + " && p.QuestionnaireName == \"Section D\"";

                var questionnaireD = _dbContext.Questionnaires.Where(predicateD).FirstOrDefault();

                var predicateE = "p => p." + provincename + " == true && p.YearId == " + child.YearId + " && p.QuestionnaireName == \"Section E\"";

                var questionnaireE = _dbContext.Questionnaires.Where(predicateE).FirstOrDefault();

                if (_child.Id > 0)
                {
                    var childid       = _child.Id;
                    var _demographics = new QuestionnairesDataDemographic();

                    _demographics.ChildId         = childid;
                    _demographics.GenderId        = child.GenderId;
                    _demographics.Dob             = child.Dob;
                    _demographics.PostalCode      = child.PostalCode;
                    _demographics.YearId          = child.YearId;
                    _demographics.QuestionnaireId = questionnaire.Id;
                    _demographics.CreatedDate     = DateTime.Now;
                    _demographics.CreatedBy       = _userSettings.UserName;
                    _demographics.ModifiedDate    = DateTime.Now;
                    _demographics.ModifiedBy      = _userSettings.UserName;

                    await _questionnairesDataDemographic.AddAsync(_demographics);

                    var _sectionA = new QuestionnairesDataSectionA();

                    _sectionA.ChildId         = childid;
                    _sectionA.QuestionnaireId = questionnaireA.Id;
                    _sectionA.YearId          = child.YearId;
                    _sectionA.CreatedDate     = DateTime.Now;
                    _sectionA.CreatedBy       = _userSettings.UserName;
                    _sectionA.ModifiedDate    = DateTime.Now;
                    _sectionA.ModifiedBy      = _userSettings.UserName;

                    await _questionnairesDataSectionA.AddAsync(_sectionA);

                    var _sectionB = new QuestionnairesDataSectionB();

                    _sectionB.ChildId         = childid;
                    _sectionB.QuestionnaireId = questionnaireB.Id;
                    _sectionB.YearId          = child.YearId;
                    _sectionB.CreatedDate     = DateTime.Now;
                    _sectionB.CreatedBy       = _userSettings.UserName;
                    _sectionB.ModifiedDate    = DateTime.Now;
                    _sectionB.ModifiedBy      = _userSettings.UserName;

                    await _questionnairesDataSectionB.AddAsync(_sectionB);

                    var _sectionC = new QuestionnairesDataSectionC();

                    _sectionC.ChildId         = childid;
                    _sectionC.QuestionnaireId = questionnaireC.Id;
                    _sectionC.YearId          = child.YearId;
                    _sectionC.CreatedDate     = DateTime.Now;
                    _sectionC.CreatedBy       = _userSettings.UserName;
                    _sectionC.ModifiedDate    = DateTime.Now;
                    _sectionC.ModifiedBy      = _userSettings.UserName;

                    await _questionnairesDataSectionC.AddAsync(_sectionC);

                    var _sectionD = new QuestionnairesDataSectionD();

                    _sectionD.ChildId         = childid;
                    _sectionD.QuestionnaireId = questionnaireD.Id;
                    _sectionD.YearId          = child.YearId;
                    _sectionD.CreatedDate     = DateTime.Now;
                    _sectionD.CreatedBy       = _userSettings.UserName;
                    _sectionD.ModifiedDate    = DateTime.Now;
                    _sectionD.ModifiedBy      = _userSettings.UserName;

                    await _questionnairesDataSectionD.AddAsync(_sectionD);

                    var _sectionE = new QuestionnairesDataSectionE();

                    _sectionE.ChildId         = childid;
                    _sectionE.QuestionnaireId = questionnaireE.Id;
                    _sectionE.YearId          = child.YearId;
                    _sectionE.CreatedDate     = DateTime.Now;
                    _sectionE.CreatedDate     = DateTime.Now;
                    _sectionE.CreatedBy       = _userSettings.UserName;
                    _sectionE.ModifiedDate    = DateTime.Now;
                    _sectionE.ModifiedBy      = _userSettings.UserName;

                    await _questionnairesDataSectionE.AddAsync(_sectionE);
                }
                return(_child.Id);
            }
            catch (Exception ex)
            {
                _sharedService.WriteLogs("CreateChildAsync failed:" + ex.Message, false);
                return(0);
            }
        }