public IActionResult Edit(int id) { Company company = companyService.GetCompanies().FirstOrDefault(c => c.Id == id); RegistrationData registrationData = companyService.FindRegistrationDataById(company.RegistrationDataId); CompanyViewModel companyViewModel = new CompanyViewModel(company); RegistrationDataViewModel registrationDataViewModel = new RegistrationDataViewModel(registrationData); FactAddressViewModel factAddressViewModel = new FactAddressViewModel(); ContactInfoViewModel contactInfoViewModel = new ContactInfoViewModel { CityPhone = company.ContactInfo.CityPhone, MobilePhone = company.ContactInfo.MobilePhone, Email = company.ContactInfo.Email }; Address factAddress = companyService.FindFactAddressByCompanyId(company.Id); if (factAddress != null) { factAddressViewModel.CountryId = factAddress.CountryId; factAddressViewModel.City = factAddress.City; factAddressViewModel.Street = factAddress.Street; factAddressViewModel.HouseAddress = factAddress.HouseAddress; factAddressViewModel.PostCode = factAddress.PostCode; } LegalAddressViewModel legalAddressViewModel = new LegalAddressViewModel(); Address legalAddress = companyService.FindLegalAddressByCompanyId(company.Id); if (factAddress != null) { legalAddressViewModel.CountryId = legalAddress.CountryId; legalAddressViewModel.City = legalAddress.City; legalAddressViewModel.Street = legalAddress.Street; legalAddressViewModel.HouseAddress = legalAddress.HouseAddress; legalAddressViewModel.PostCode = legalAddress.PostCode; } CompanyEditViewModel model = new CompanyEditViewModel { FactAddress = factAddressViewModel, LegalAddress = legalAddressViewModel, Company = companyViewModel, RegistrationData = registrationDataViewModel, ContactInfo = contactInfoViewModel }; model.Countries = selectListService.GetCountries(); model.LegalForms = selectListService.GetLegalForms(); model.PropertyTypes = selectListService.GetPropertyTypes(); model.Residencies = selectListService.GetResidencies(); model.TaxInspections = selectListService.GetTaxInspections(); ViewBag.CountriesForAddress = GetCountriesForAddress(); return(View(model)); }
public ActionResult RegistrationData(RegistrationDataViewModel model) { if (!ModelState.IsValid) { return View(model); } var user = this.GetAuthUser(); var context = ApplicationDbContext.Create(); var regData = context.RegistrationDatas.SingleOrDefault(x => x.User.Id == user.Id); if (regData == null) { regData = new RegistrationData(); context.RegistrationDatas.Add(regData); } regData.IsResident = model.IsResident; regData.LegalForm = context.LegalForms.Single(x => x.Id == model.LegalFormId); regData.OrganizationName = model.OrganizationName; regData.ProviderType = context.ProviderTypes.Single(x => x.Id == model.ProviderTypeId); regData.StateRegistrationCertificateDate = model.StateRegistrationCertificateDate; regData.StateRegistrationCertificateIssuingAuthority = model.StateRegistrationCertificateIssuingAuthority; regData.StateRegistrationCertificateNumber = model.StateRegistrationCertificateNumber; regData.User = context.Users.Single(x => x.Id == user.Id); if (!model.IsResident) { regData.Country = context.Countries.Single(x => x.Id == model.CountryId); regData.TaxId = model.TaxId; regData.Xin = string.Empty; } else { regData.Xin = model.Xin; regData.Country = null; regData.TaxId = string.Empty; } context.SaveChanges(); return RedirectToAction("Index"); }