public static EmployerRegistrationViewModel SubmitRegistration(EmployerRegistrationViewModel employerRegistrationViewModel) { using (DbContext context = new DbContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { employerRegistrationViewModel.EmployerDto = SetPendingFieldsEmployerDto(employerRegistrationViewModel.EmployerDto, employerRegistrationViewModel.EmployerUnitDto); employerRegistrationViewModel.EmployerContactDto = SetPendingFieldsEmployerContactDto(employerRegistrationViewModel.EmployerContactDto); employerRegistrationViewModel.EmployerUnitDto = SetPendingFieldsEmployerUnitDto(employerRegistrationViewModel.EmployerUnitDto, employerRegistrationViewModel.ListAddressLinkDto); employerRegistrationViewModel.ListAddressLinkDto = SetPendingFieldsListAddressLinkDto(employerRegistrationViewModel.ListAddressLinkDto); var employer = Employer.FromDto(context, employerRegistrationViewModel.EmployerDto); var employerUnit = EmployerUnit.FromDto(context, employerRegistrationViewModel.EmployerUnitDto); employer.EmployerContacts.Add(EmployerContact.FromDto(context, employerRegistrationViewModel.EmployerContactDto)); foreach (var addressLinkDto in employerRegistrationViewModel.ListAddressLinkDto) { employerUnit.AddressLinks.Add(AddressLink.FromDto(context, addressLinkDto)); } employer.EmployerUnits.Add(employerUnit); context.SaveChanges(); dbContextTransaction.Commit(); employerRegistrationViewModel.EmployerDto = employer.ToDto(); } catch (Exception) { dbContextTransaction.Rollback(); } } } return(employerRegistrationViewModel); }
private ObservableCollection <EmployerUnit> GetUnitsContext() { List <string> unitsNames = new List <string>(); ObservableCollection <EmployerUnit> OC = new ObservableCollection <EmployerUnit>(); var unitList = context.UnitsTable.ToList(); foreach (UnitsTable UT in unitList) { EmployerUnit EU = new EmployerUnit() { Name = UT.Название }; unitsNames.Add(UT.Название); if (UT.уководитель != null) { EU.Head = (EmployerClass)employers.Single(x => x.Id == UT.уководитель); } OC.Add(EU); foreach (EmployerClass EC in employers) { if (EC.Unit.Name == UT.Название) { EC.Unit = EU; } } } return(OC); }
private void SetSelectedUnit(object parameter) { if (parameter != null) { EmployerUnit EU = (EmployerUnit)parameter; Unit = new EmployerUnit(); Unit.Name = EU.Name; Unit.Head = EU.Head; } }
private void UpdateUnit(object parameter) { if (Unit != null && Unit.Name != null && Unit.Head != null) { UnitsTable UT = context.UnitsTable.Single(u => u.Название == Unit.Name); EmployerUnit EU = Units.Single(u => u.Name == Unit.Name); UT.Название = Unit.Name; UT.уководитель = Unit.Head.Id; EU.Name = Unit.Name; EU.Head = Unit.Head; Unit = null; context.SaveChanges(); } }
/// <summary> /// /// </summary> /// <param name="employerUnitDto"></param> /// <returns></returns> static EmployerUnit AddEmployerUnit(EmployerUnitDto employerUnitDto) { string countyCode = "0"; AddressLinkDto physicalAddress = employerUnitDto.Employer.AddressLinks.FirstOrDefault(addressLink => addressLink.AddressTypeCode == LookupTable_AddressType.Physical); EmployerUnit employerUnit = new EmployerUnit { EmployerUnitSeqNo = 1, DoingBusinessAsName = Shared.Utility.StringUtil.ToUpper(employerUnitDto.DoingBusinessAsName), FirstWageDate = employerUnitDto.FirstWageDate, StatusCode = LookupTable_EmployerStatus.Active, StatusDate = DateTimeUtil.Now, //TODO: when CountyCode is NULL, county code is determined based on the zip code //County zip mapping for WA needs to be populated in the lookup data CountyCode = physicalAddress.Address.CountyCode }; return(employerUnit); }
private void SetNewUnit(object parameter) { Unit = new EmployerUnit(); }