Beispiel #1
0
        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());
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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()));
            }
        }