public async Task <bool> UpdateCompanyAsync(cor_company model) { if (model.CompanyId > 0) { var item = await _dataContext.cor_company.FindAsync(model.CompanyId); _dataContext.Entry(item).CurrentValues.SetValues(model); } else { await _dataContext.cor_company.AddAsync(model); } return(await _dataContext.SaveChangesAsync() > 0); }
public async Task <CompanyRegRespObj> Handle(AddUpdateCompanyCommand request, CancellationToken cancellationToken) { try { if (request.CompanyId < 1) { if (await _repo.CompanyExistAsync(request.Email, request.Name)) { return new CompanyRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = $"Company with this email or or name already exist" } } } } ; } var currentUserId = _httpContextAccessor.HttpContext.User?.FindFirst(x => x.Type == "userId").Value; var user = await _userManger.FindByIdAsync(currentUserId); var company = new cor_company { Name = request.Name, Code = request.Code, Address1 = request.Address1, Address2 = request.Address2, Telephone = request.Telephone, Fax = request.Fax, Email = request.Email, RegistrationNumber = request.RegistrationNumber, TaxId = request.TaxId, NoOfEmployees = request.NoOfEmployees, WebSite = request.WebSite, Logo = request.Logo, LogoType = request.LogoType, State = request.State, City = request.City, CurrencyId = request.CurrencyId, CountryId = request.CountryId, ApplyRegistryTemplate = request.ApplyRegistryTemplate, RegistryTemplate = request.RegistryTemplate, PostalCode = request.PostalCode, IsMultiCompany = request.IsMultiCompany, Subsidairy_Level = request.Subsidairy_Level, Description = request.Description, Active = true, Deleted = false, CreatedBy = user.UserName, CreatedOn = request.CompanyId > 0 ? request.CreatedOn : DateTime.Now, UpdatedBy = user.UserName, UpdatedOn = DateTime.Now, }; if (request.CompanyId > 0) { company.CompanyId = request.CompanyId; } await _repo.UpdateCompanyAsync(company); var actionTaken = request.CompanyId > 0 ? "updated" : "added"; return(new CompanyRegRespObj { CompanyId = company.CompanyId, Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage { FriendlyMessage = $"Company successfully {actionTaken}", } } }); } catch (Exception ex) { #region Log error to file var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : AddUpdateCompanyCommandHandler{errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new CompanyRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Error occured!! Unable to process item", MessageId = errorCode, TechnicalMessage = $"ErrorID : AddUpdateCompanyCommandHandler{errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}" } } }); #endregion } }