public async Task <SaveResult> SaveEntity(MemberStagingViewModel viewModel) { SaveResult saveResult = new SaveResult(); Dictionary <bool, string> dictionary = new Dictionary <bool, string>(); bool isNew = false; var entity = new MemberStaging(); viewModel.Address.SessionUserId = viewModel.SessionUserId; try { saveResult = await SaveAddress(viewModel); if (saveResult.IsSuccess) { if (_context.MemberStaging.IgnoreQueryFilters().Any(a => a.Id == viewModel.Id)) { entity = await _context.MemberStaging.IgnoreQueryFilters().FirstOrDefaultAsync(a => a.Id == viewModel.Id); entity = viewModel.ToEntity(entity); _context.MemberStaging.Update(entity); } else { isNew = true; entity = viewModel.ToEntity(entity); _context.MemberStaging.Add(entity); } await _context.SaveChangesAsync(); //if(isNew) //{ // await _queuedEmailBL.GenerateRegistrationNotificationEmail(viewModel, MessageTemplateConst.RegistrationNotification); //} } } catch (DbUpdateException upDateEx) { var results = upDateEx.GetSqlerrorNo(); string msg = results == (int)SqlErrNo.FK ? ConstEntity.MissingValueMsg : ConstEntity.UniqueKeyMsg; saveResult = dictionary.GetValidateEntityResults(msg).ToSaveResult(); } catch (Exception ex) { saveResult.Message = CrudError.DeleteErrorMsg; } return(saveResult); }
/// <summary> /// Convert Corporate Object into Corporate Entity /// </summary> ///<param name="model">Corporate</param> ///<param name="CorporateEntity">DataAccess.Corporate</param> ///<returns>DataAccess.Corporate</returns> public static MemberStaging ToEntity(this MemberStagingViewModel model, MemberStaging entity ) { if (entity.Id == 0) { entity.CreatedUserId = model.SessionUserId; } else { entity.UpdatedUserId = model.SessionUserId; entity.UpdatedTimestamp = DateTime.Now; } entity.FirstName = model.FirstName; entity.Surname = model.Surname; entity.ContactNo = model.CellPhone; entity.Email = model.Email; entity.Initials = model.Initials; entity.OtherName = model.OtherName; entity.TitleId = model.TitleId; entity.BirthDate = model.BirthDate; entity.GenderId = model.GenderId; if (model.IDTypeId == 1) { entity.IDNumber = model.IDNumber; } else { entity.IDNumber = model.AlternateIDNumber; } entity.IDTypeId = model.IDTypeId; entity.CountryId = model.NationalityId; entity.AddressId = model.AddressId; entity.IsFromFront = model.IsFromFront; entity.IsFinalised = model.IsFinalised; entity.Occupation = model.Occupation; entity.Company = model.Company; entity.WorkTelephone = model.WorkTelephone; entity.HomeTelephone = model.HomeTelephone; entity.EmmergencyContact1 = model.EmmergencyContact1; entity.EmmergencyContactNo1 = model.EmmergencyContactNo1; entity.EmmergencyContact2 = model.EmmergencyContact2; entity.EmmergencyContactNo2 = model.EmmergencyContactNo2; entity.MedicalAidName = model.MedicalAidName; entity.MedicalAidNumber = model.MedicalAidNumber; entity.PrevYearLicence = model.PrevYearLicence; entity.CurrentYearLicence = model.CurrentYearLicence; return(entity); }
/// <summary> /// Convert Corporate Entity into Corporate Object /// </summary> ///<param name="model">MemberStagingViewModel</param> ///<param name="CorporateEntity">DataAccess.Corporate</param> ///<returns>MemberStagingViewModel</returns> public static MemberStagingViewModel ToViewModel(this MemberStaging entity, MemberStagingViewModel model) { model.Id = entity.Id; model.NationalityId = entity.CountryId; model.FirstName = entity.FirstName; model.Surname = entity.Surname; model.CellPhone = entity.ContactNo; model.Email = entity.Email; model.Initials = entity.Initials; model.OtherName = entity.OtherName; model.TitleId = entity.TitleId ?? 0; model.GenderId = entity.GenderId; model.IDNumber = entity.IDNumber; model.IDTypeId = entity.IDTypeId; model.AddressId = entity.AddressId; model.AddressId = entity.AddressId; model.BirthDate = entity.BirthDate; model.IsFromFront = entity.IsFromFront; // model.FullName = entity.FullName; model.BirthDateLongDate = entity.BirthDate.ToCustomLongDate(); model.Occupation = entity.Occupation; model.Company = entity.Company; model.WorkTelephone = entity.WorkTelephone; model.HomeTelephone = entity.HomeTelephone; model.EmmergencyContact1 = entity.EmmergencyContact1; model.EmmergencyContactNo1 = entity.EmmergencyContactNo1; model.EmmergencyContact2 = entity.EmmergencyContact2; model.EmmergencyContactNo2 = entity.EmmergencyContactNo2; model.PrevYearLicence = entity.PrevYearLicence; model.CurrentYearLicence = entity.CurrentYearLicence; model.MedicalAidNumber = entity.MedicalAidNumber; model.MedicalAidName = entity.MedicalAidName; return(model); }
public async Task <SaveResult> VerifyModel(MemberStagingViewModel viewModel) { SaveResult saveResult = new SaveResult(); Dictionary <bool, string> dictionary = new Dictionary <bool, string>(); var entity = new MemberStaging(); try { if (_context.MemberStaging.IgnoreQueryFilters().Any(a => a.Id == viewModel.Id)) { entity = await _context.MemberStaging.IgnoreQueryFilters().FirstOrDefaultAsync(a => a.Id == viewModel.Id); entity.IsFinalised = viewModel.IsFinalised; if (!entity.IsFinalised) { entity.Comment = viewModel.Comments; entity.IsRejected = true; } _context.MemberStaging.Update(entity); await _context.SaveChangesAsync(); saveResult.IsSuccess = true; //send approval email entity.ToViewModel(viewModel); //allow user to create an account if (entity.Id > 0) { saveResult.IsSuccess = true; saveResult.Id = entity.Id; if (viewModel.IsFinalised) { //saveResult = await _personBL.GenerateEntity(viewModel); //if (saveResult.IsSuccess) //{ // saveResult = await this.DeleteEntity(entity.Id); //} } else { saveResult = await this.DeleteEntity(entity.Id); } } } } catch (DbUpdateException upDateEx) { var results = upDateEx.GetSqlerrorNo(); string msg = results == (int)SqlErrNo.FK ? ConstEntity.MissingValueMsg : ConstEntity.UniqueKeyMsg; saveResult = dictionary.GetValidateEntityResults(msg).ToSaveResult(); } catch (Exception ex) { saveResult.Message = CrudError.DeleteErrorMsg; } return(saveResult); }