public IActionResult Registrar([FromBody] RegistrarActualizarClienteRequestDTO request)
        {
            Guid guid = Guid.NewGuid();

            _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(request)}");

            RegistrarActualizarClienteResponseDTO response = new RegistrarActualizarClienteResponseDTO();

            try
            {
                response.Result.Data = _clienteService.RegistrarCliente(request);

                response.Result.Success = true;
            }
            catch (ResultException ex)
            {
                response.Result = new Result()
                {
                    Success = true, ErrCode = ex.Result.ErrCode, Message = ex.Result.Message
                };
            }
            catch (Exception ex)
            {
                response.Result = new Result()
                {
                    Success = false, Message = "Ocurrio un problema en el servicio, intentelo nuevamente."
                };
                _log.RegistrarEvento(ex, guid.ToString());
            }

            _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(response)}");

            return(Ok(response));
        }
        public int ActualizarCliente(RegistrarActualizarClienteRequestDTO request)
        {
            Cliente cliente = _Mapper.Map <Cliente>(request);

            cliente.FechaUltimaActualizacion   = DateTime.Now;
            cliente.UsuarioUltimaActualizacion = request.Usuario;

            int affected = _IClienteRepository.Actualizar(cliente);

            return(affected);
        }
        public int RegistrarCliente(RegistrarActualizarClienteRequestDTO request)
        {
            int validarUsuario = _IUsersService.ValidarUsuario(request.CorreoElectronico);

            if (validarUsuario > 0)
            {
                throw new ResultException(new Result {
                    ErrCode = "01", Message = "Ya existe un cliente con el mismo Email"
                });
            }
            Cliente cliente = _Mapper.Map <Cliente>(request);

            cliente.FechaRegistro   = DateTime.Now;
            cliente.UsuarioRegistro = request.Usuario;
            cliente.Numero          = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.Cliente);

            int clienteId = _IClienteRepository.Insertar(cliente);

            User user = new User();

            user.UserName    = request.CorreoElectronico;
            user.FullName    = request.RazonSocial;
            user.EmailId     = request.CorreoElectronico;
            user.Password    = cliente.Numero;
            user.CreatedDate = DateTime.Now;
            user.EmpresaId   = request.EmpresaId;
            user.ClienteId   = clienteId;
            user.Activo      = 1;
            user.EstadoId    = "01";



            int userId    = _IUsersService.RegistrarUsuario(user);
            int rolId     = int.Parse(_ParametrosSettings.Value.RoleId);
            int userRolId = _IUsersService.RegistrarRolUsuario(userId, rolId);

            EmailManager emailManager = new EmailManager();

            string pathPlantilla = String.Empty;
            string asunto        = String.Empty;

            Empresa empresa = _IEmpresaRepository.ObtenerEmpresaPorId(request.EmpresaId);


            string correoFrom = _ParametrosSettings.Value.CorreoFrom;
            string logo       = String.Empty;

            if (empresa != null && !String.IsNullOrEmpty(empresa.CorreoFrom))
            {
                //correoFrom = empresa.CorreoFrom;
                logo = empresa.Logo;
            }

            if (cliente.TipoClienteId == ClienteTipo.Nacional)
            {
                pathPlantilla = $"{this._webHostEnvironment.ContentRootPath}\\plantillas_correo\\bienvenidaES.html";
                asunto        = "Bienvenido a Coffee Connect!";
            }
            else
            {
                pathPlantilla = $"{this._webHostEnvironment.ContentRootPath}\\plantillas_correo\\bienvenidaEN.html";
                asunto        = "Welcome to Coffee Connect!";
            }
            //emailManager.SendEmail();


            string url = _ParametrosSettings.Value.UrlSistema;

            var responseTask = Task.Run(() => emailManager.SendEmailBienvenida(pathPlantilla, asunto, request.RazonSocial, request.CorreoElectronico, request.CorreoElectronico, cliente.Numero, url, correoFrom, "/assets/img/" + logo));

            return(clienteId);
        }