protected void lnkSave_Click(object sender, EventArgs e) { Company company; if (CompanyId > 0) { company = new Company(CompanyId); } else { company = new Company(); } company.CompanyName = CompanyInfo1.CompanyName; company.ABN = CompanyInfo1.ABN; company.ACN = CompanyInfo1.ACN; company.Address = new Address { Street = OfficeAddress.Street, Street2 = OfficeAddress.Street2, Suburb = OfficeAddress.Suburb, State = OfficeAddress.State, Postcode = OfficeAddress.Postcode }; company.PostalAddress = new Address { Street = PostalAddress.Street, Street2 = PostalAddress.Street2, Suburb = PostalAddress.Suburb, State = PostalAddress.State, Postcode = PostalAddress.Postcode }; var request = new SaveCompanyRequest { Company = company, User = Users.Current }; var response = CompanyService.SaveCompany(request); if (response.IsSuccessful) { CompanyId = company.Id.Value; UserMessage.SetSuccess("Company Saved"); } else { UserMessage.SetFailure(response.Message); } }
public SaveCompanyResponse SaveCompany(SaveCompanyRequest request) { var response = new SaveCompanyResponse(); #region Validation if (request.User == null || request.User is AgentUser || request.User is ContactUser) { response.IsSuccessful = false; response.Message = Constants.Messages.NO_PERMISSIONS; return response; } System.Threading.Thread.CurrentPrincipal = request.User.GetUserPrincipal(); if (string.IsNullOrEmpty(request.Company.CompanyName)) { response.Message = "Company Name cannot be blank"; return response; } #endregion try { using (var ts = new TransactionScope()) { if (request.Company.Id == null) { _companyRepository.InsertCompany(request.Company); if (request.Company.Id != null) { request.Company.LogActivity("New Company added"); response.IsSuccessful = true; ts.Complete(); } else { response.Message = Constants.Messages.INTERNAL_ERROR; } } else { if (_companyRepository.UpdateCompany(request.Company)) { request.Company.LogActivity("Updated Company with new information"); response.IsSuccessful = true; ts.Complete(); } else { response.Message = Constants.Messages.INTERNAL_ERROR; } } } } catch (Exception ex) { Console.WriteLine(ex.Message); response.Message = Constants.Messages.INTERNAL_ERROR; response.IsSuccessful = false; } return response; }