public async Task <IActionResult> Edit(CustomerInputeModel model) { if (!ModelState.IsValid) { return(View(model)); } await _service.UpdateRecord(model); return(RedirectToAction(nameof(Index))); }
private async Task CreateCustomer(CustomerInputeModel model, Guid customerOrganizationID) { var usersession = GetUserSession(); var customer = Mapper.Map <ERP.Models.Customer>(model); customer.CustomerOrganizationID = customerOrganizationID; customer.OrganizationID = usersession.OrganizationID; customer.CreateBy = customer.UpdateBy = usersession.UserFullName; customer.UserID = usersession.UserID; customer.CreateDate = customer.UpdateDate = DateTimeService.ProvideDateTime(); await DbContext.Customers.AddAsync(customer); await DbContext.SaveChangesAsync(); }
public async Task UpdateRecord(CustomerInputeModel inputModel) { var userSession = GetUserSession(); var customer = await DbContext.Customers.FirstOrDefaultAsync(m => m.ID == inputModel.ID); var organization = await DbContext.Organizations.FirstOrDefaultAsync(m => m.ID == customer.CustomerOrganizationID); Mapper.Map <CustomerInputeModel, ERP.Models.Customer>(inputModel, customer); Mapper.Map <CustomerInputeModel, Organization>(inputModel, organization); organization.UpdateBy = customer.UpdateBy = userSession.UserFullName; organization.UpdateDate = customer.UpdateDate = DateTimeService.ProvideDateTime(); DbContext.Attach(customer).State = EntityState.Modified; DbContext.Attach(organization).State = EntityState.Modified; await DbContext.SaveChangesAsync(); }
private async Task <Guid> CreateCustomerOrganization(CustomerInputeModel model) { var userSession = GetUserSession(); Guid id = Guid.NewGuid(); var instance = this.Mapper.Map <Organization>(model); instance.ProviderOrganizationID = userSession.OrganizationID; instance.ID = id; instance.CreateBy = userSession.UserFullName; instance.UpdateBy = userSession.UserFullName; instance.CreateDate = DateTimeService.ProvideDateTime(); instance.UpdateDate = DateTimeService.ProvideDateTime(); await DbContext.Organizations.AddAsync(instance); await DbContext.SaveChangesAsync(); return(id); }
public async Task CreateNewRecord(CustomerInputeModel model) { using (var transaction = DbContext.Database.BeginTransaction()) { Guid customerOrganizationID = await CreateCustomerOrganization(model); UserAdminInputData data = new UserAdminInputData() { OrganizationID = customerOrganizationID, Email = model.Email }; var loginData = await CreateSuperAdmin(data, _userManager); await CreateCustomer(model, customerOrganizationID); // change it if you are going to production, password protection is needed too //await EmailSender.SendEmailAsync(model.Email, "Your Customer Organization is created", $"Your logging credentials UserName:{loginData.UserName} and Password: {loginData.Password}"); await EmailSender.SendEmailAsync("*****@*****.**", "Your Customer Organization is created", $"Your logging credentials UserName:{loginData.UserName} and Password: {loginData.Password}"); transaction.Commit(); } }