public async Task <IActionResult> CreateAgent([FromBody] CreateAgentVM request) { if (!ModelState.IsValid) { return(AppResult.Fail(ModelState.GetErrorMessageAsString("\n")).ToIActionResult()); } var result = await _agentService.CreateAgent(request); return(result.ToIActionResult()); }
public async Task <string> CreateAgentInDb(CreateAgentVM model) { var result = string.Empty; try { var agent = new Agent { AccountCode = model.AccountCode, AccountName = model.AccountName, AccountType = model.AccountType, AccountNumber = model.AccountNumber, AccountProvider = model.AccountProvider, CountryCode = model.CountryCode, CreatedAt = DateTime.UtcNow, Fullname = model.Fullname, ImageUrl = model.ImageUrl, MobileNumber = model.MobileNumber, MotorNumber = model.MotorNumber, Latitude = model.Latitude, Longitude = model.Longitude, Status = AgentStatus.Inactive, Id = Guid.NewGuid().ToString("N") }; await context.Agents.AddAsync(agent); result = agent.Id; _logger.LogInformation("Create agent successful with Id: {agent_id}", result); } catch (Exception e) { _logger.LogError(e, e.ToString()); result = ErrorHandler.AgentCreateError; } return(result); }
public async Task <AppResult> CreateAgent(CreateAgentVM model) { try { var phoneNumberUtil = PhoneNumberUtil.GetInstance(); PhoneNumber phoneNumber = null; if (model.MobileNumber.StartsWith('+')) { if (model.MobileNumber.Length < 8) { AppResult.Error(ErrorHandler.GeneralErrorMessage, ResponseMessages.InvalidPhoneNumber); } phoneNumber = phoneNumberUtil.Parse(model.MobileNumber, null); } if (model.MobileNumber.Length < 8) { AppResult.Error(ErrorHandler.GeneralErrorMessage, ResponseMessages.InvalidPhoneNumber); } phoneNumber = phoneNumberUtil.Parse(model.MobileNumber, model.CountryCode); model.MobileNumber = $"{phoneNumber.CountryCode}{phoneNumber.NationalNumber}"; var resp = await _agentRepository.CreateAgentInDb(model); return(ErrorHandler.AgentCreateError.Equals(resp) ? AppResult.Error(resp) : AppResult.Success("Successfully created agent", resp)); } catch (Exception e) { _logger.LogError(e, e.ToString()); return(AppResult.Error("An error occured", e.ToString())); } }