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);
        }
示例#2
0
        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);
        }
示例#3
0
 private void SetSelectedUnit(object parameter)
 {
     if (parameter != null)
     {
         EmployerUnit EU = (EmployerUnit)parameter;
         Unit      = new EmployerUnit();
         Unit.Name = EU.Name;
         Unit.Head = EU.Head;
     }
 }
示例#4
0
        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);
        }
示例#6
0
 private void SetNewUnit(object parameter)
 {
     Unit = new EmployerUnit();
 }