public IHttpActionResult GetAcceso(AccesoRequest acc) { string Mensaje; ClienteResponse objClienteRS = new ClienteResponse(); LoginAccess objAcceso = new LoginAccess(); var lstCliente = objAcceso.LeerCorreo(acc.EmailCliente); if (lstCliente.Count() > 0) { objClienteRS.ClaveCliente = lstCliente.FirstOrDefault().ClaveCliente.Trim(); acc.Cuerpo = acc.Cuerpo + " " + objClienteRS.ClaveCliente; EnviarCorreoSendGrid(acc.NombreEmisor, acc.EmailEmisor, acc.EmailCliente, acc.Asunto, acc.Cuerpo); Mensaje = "OK, Se envio el Correo Satisfactoriamente"; return(Ok(Mensaje)); } else { objClienteRS.LoginSuccess = false; var message = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("No se encontro El Correo en la Base de Datos... Verifique por favor") }; throw new HttpResponseException(message); } }
public static ClienteResponse AddCliente(ML.Cliente cliente, List <ML.Producto> productos) { ClienteResponse response = new ClienteResponse(); try { using (DL.ExamenTrupperEntities context = new DL.ExamenTrupperEntities()) { int ClienteId = Convert.ToInt32(context.AddCliente(cliente.Nombre, cliente.APaterno, cliente.AMaterno).FirstOrDefault()); if (ClienteId > 0) { response.Code = 100; response.Message = "Éxito al ingresar nuevo cliente"; response.ListaClientes = new List <ML.Cliente>(); ML.Pedido pedido = new ML.Pedido(); BL.Pedido.AddPedido(ClienteId, pedido, productos); } else { response.Code = 50; response.Message = "Error al agregar cliente"; response.ListaClientes = new List <ML.Cliente>(); } return(response); } } catch (Exception Ex) { response.Code = -100; response.Message = "No se pudo agregar el cliente por el siguiente error: " + Ex.ToString(); response.ListaClientes = new List <ML.Cliente>(); return(response); } }
/// <summary> /// Busqueda de clientes /// </summary> /// <param name="clienteRequest"></param> /// <returns></returns> public ClienteResponse[] BuscarClientes(ClienteRequest clienteRequest) { List <ClienteResponse> list = new List <ClienteResponse>(); var parameters = new Dictionary <string, object>(); parameters.Add("@CodigoCliente", clienteRequest.CodigoCliente); parameters.Add("@Nombre", clienteRequest.Nombre); parameters.Add("@Telefono", clienteRequest.Telefono); foreach (var r in data.GetDataReader("[dbo].[sp_vanti_server_BusquedaClientes]", parameters)) { ClienteResponse cliente = new ClienteResponse(); cliente.Nombre = r.GetValue(0).ToString(); cliente.CodigoCliente = Convert.ToInt64(r.GetValue(1)); cliente.Telefono = r.GetValue(2).ToString(); cliente.CodigoTienda = Convert.ToInt32(r.GetValue(3)); cliente.ApellidoPaterno = r.GetValue(4).ToString(); cliente.ApellidoMaterno = r.GetValue(5).ToString(); cliente.Calle = r.GetValue(6).ToString(); cliente.NoExterior = r.GetValue(7).ToString(); cliente.NoInterior = r.GetValue(8).ToString(); cliente.Ciudad = r.GetValue(9).ToString(); cliente.Estado = r.GetValue(10).ToString(); cliente.CodigoPostal = r.GetValue(11).ToString(); cliente.Email = r.GetValue(12).ToString(); cliente.CodigoCaja = Convert.ToInt32(r.GetValue(13)); list.Add(cliente); } return(list.ToArray()); }
public IHttpActionResult GetURL(ClienteRequest cli) { string URL = Data.StrUrl; ClienteResponse objClienteRS = new ClienteResponse(); LoginAccess objLogin = new LoginAccess(); var lstCliente = objLogin.LeeIDCliente(Int32.Parse(cli.CodigoCliente)); if (lstCliente.Count() > 0) { objClienteRS.IDCliente = lstCliente.FirstOrDefault().IDCliente; URL = URL + "/" + objClienteRS.IDCliente; } else { var message = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("No se encontro el IDcliente.") }; throw new HttpResponseException(message); } return(Ok(URL)); }
public IHttpActionResult LoginCliente(ClienteRequest cli) { ClienteResponse objClienteRS = new ClienteResponse(); LoginAccess objLogin = new LoginAccess(); var lstCliente = objLogin.LeerCliente(cli.EmailCliente, cli.PasswordCliente); if (lstCliente.Count() > 0) { objClienteRS.LoginSuccess = true; objClienteRS.CodCliente = lstCliente.FirstOrDefault().CodCliente; objClienteRS.EmailCliente = lstCliente.FirstOrDefault().EmailCliente.Trim(); objClienteRS.NomCliente = lstCliente.FirstOrDefault().NomCliente; objClienteRS.ApePaterno = lstCliente.FirstOrDefault().ApePaterno; objClienteRS.ApeMaterno = lstCliente.FirstOrDefault().ApeMaterno; objClienteRS.TipoIdioma = lstCliente.FirstOrDefault().TipoIdioma; } else { objClienteRS.LoginSuccess = false; var message = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("No se encontro el cliente.") }; throw new HttpResponseException(message); } return(Ok(objClienteRS)); }
public IEnumerable <ClienteResponse> LeerCliente(string pCorreoCliente, string pPasswordCliente) { string lineagg = "0"; try { List <ClienteResponse> lstCliente = new List <ClienteResponse>(); lineagg += ",1"; using (SqlConnection con = new SqlConnection(Data.Data.StrCnx_WebsSql)) { SqlCommand cmd = new SqlCommand("latinamericajourneys.LAJ_LeeCliente_S", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CorreoCliente", SqlDbType.VarChar).Value = pCorreoCliente; cmd.Parameters.Add("@PasswordCliente", SqlDbType.VarChar).Value = pPasswordCliente; lineagg += ",2"; con.Open(); cmd.ExecuteNonQuery(); SqlDataReader rdr = cmd.ExecuteReader(); lineagg += ",3"; while (rdr.Read()) { lineagg += ",4"; if (rdr["Email"].ToString().Trim() == pCorreoCliente.Trim() && rdr["ClaveCliente"].ToString().Trim() == pPasswordCliente.Trim()) { ClienteResponse fcliente = new ClienteResponse { CodCliente = rdr["CodCliente"].ToString(), NomCliente = rdr["NomCliente"].ToString(), ApePaterno = rdr["Paterno"].ToString(), ApeMaterno = rdr["Materno"].ToString(), EmailCliente = rdr["Email"].ToString(), TipoIdioma = Convert.ToChar(rdr["TipoIdioma"]) }; lstCliente.Add(item: fcliente); } } lineagg += ",5"; con.Close(); } return(lstCliente); } catch (Exception ex) { //Bitacora.Current.Error<LoginAccess>(ex, new { lineagg }); //return new List<Cliente> { new Cliente { EmailCliente = lineagg, NomCliente = ex.Message } }; throw new Exception { Source = lineagg }; } }
private HttpResponse <ClienteResponse> newHttpResponse(ClienteResponse response) { return(new HttpResponse <ClienteResponse>() { StatusCode = HttpStatusCode.OK, ApiResponse = new ApiResponse <ClienteResponse>() { Data = response, Error = null } }); }
public async Task <ActionResult <List <ClienteResponse> > > Put([FromBody] List <ClienteDTO> clientes) { bool hayError = false; if (!ModelState.IsValid) { ModelState.AddModelError("Error", "Error de formato"); } List <ClienteResponse> responseList = new List <ClienteResponse>(); foreach (ClienteDTO cliente in clientes) { Logger.Information($"Se recibio actualizacion de datos del cliente{cliente.NumeroCliente} - {cliente.RazonSocial} - Id de operacion: {cliente.IdOperacion}"); int idOperacion = cliente.IdOperacion; if (Env.IsProduction()) { if (int.TryParse(cliente.NumeroCliente, out _)) { cliente.NumeroCliente = string.Format("{0:00000000}", int.Parse(cliente.NumeroCliente)); } ; if (int.TryParse(cliente.NumeroSubcuenta, out _)) { cliente.NumeroSubcuenta = string.Format("{0:00000000}", int.Parse(cliente.NumeroSubcuenta)); } } Vtmclh clienteFormat = Mapper.Map <ClienteDTO, Vtmclh>(cliente); //ClienteResponse response = Repository.GraboCliente(clienteFormat, "OPEN"); ClienteResponse response = await Repository.ActualizoCliente(clienteFormat); response.IdOperacion = idOperacion; if (response.Estado != 200) { hayError = true; } responseList.Add(response); } if (hayError) { return(BadRequest(responseList)); } return(Ok(responseList)); }
public ClienteResponse Inserir(InserirClienteRequest cliente) { var retorno = new ClienteResponse() { Id = 1, Cpf = cliente.Cpf, DataNascimento = cliente.DataNascimento, Nome = cliente.Nome, Rg = cliente.Rg, }; return(retorno); }
public HttpResponse <ClienteResponse> BuscarCliente(ClienteRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El cliente que se intenta buscar es invalido."))); } using (var db = new GeviApiContext()) { var cli = db.Clientes .Where(c => c.Nombre.Equals(request.Nombre)) .Include(c => c.Proyectos) .FirstOrDefault(); if (cli == null) { return(newHttpErrorResponse(new Error("No existe el cliente"))); } var response = new ClienteResponse() { Id = cli.Id, Nombre = cli.Nombre, Proyectos = null, Tipo = cli.Tipo }; if (cli.Proyectos != null) { var proyectosResponse = new List <ProyectoResponse>(); foreach (var p in cli.Proyectos) { var nuevoProyResponse = new ProyectoResponse() { Id = p.Id, Nombre = p.Nombre, Cliente = cli.Nombre }; proyectosResponse.Add(nuevoProyResponse); } response.Proyectos = proyectosResponse; } return(newHttpResponse(response)); } }
public HttpResponse <List <ClienteResponse> > Todos() { using (var db = new GeviApiContext()) { var clientes = db.Clientes .Include(c => c.Proyectos) .Include(c => c.Tipo) .ToList(); var response = new List <ClienteResponse>(); foreach (var c in clientes) { var nuevo = new ClienteResponse() { Id = c.Id, Nombre = c.Nombre, Tipo = c.Tipo, Proyectos = null }; if (c.Proyectos != null) { var proyectoRespone = new List <ProyectoResponse>(); foreach (var p in c.Proyectos) { var nuevoProyectoResponse = new ProyectoResponse() { Id = p.Id, Nombre = p.Nombre, Cliente = p.Cliente?.Nombre }; proyectoRespone.Add(nuevoProyectoResponse); } nuevo.Proyectos = proyectoRespone; } response.Add(nuevo); } return(newHttpListResponse(response)); } }
public IEnumerable <ClienteResponse> LeeIDCliente(int pCodCliente) { string lineagg = "0"; try { List <ClienteResponse> lstCliente = new List <ClienteResponse>(); lineagg += ",1"; using (SqlConnection con = new SqlConnection(Data.Data.StrCnx_WebsSql)) { SqlCommand cmd = new SqlCommand("latinamericajourneys.LAJ_LeeIDCliente_S", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CodCliente", SqlDbType.VarChar).Value = pCodCliente; lineagg += ",2"; con.Open(); cmd.ExecuteNonQuery(); SqlDataReader rdr = cmd.ExecuteReader(); lineagg += ",3"; while (rdr.Read()) { lineagg += ",4"; ClienteResponse fcliente = new ClienteResponse { IDCliente = rdr["IDCliente"].ToString() }; lstCliente.Add(item: fcliente); } lineagg += ",5"; con.Close(); } return(lstCliente); } catch (Exception ex) { throw new Exception { Source = lineagg }; } }
public ClienteResponse Agregar(ClienteRequest request) { try { var response = new ClienteResponse(); var bc = new ClienteComponent(); response.Result = bc.Add(request.Cliente); return(response); } catch (Exception ex) { var httpError = new HttpResponseMessage() { StatusCode = (HttpStatusCode)422, ReasonPhrase = ex.Message }; throw new HttpResponseException(httpError); } }
public ClienteResponse LeerPorId(int id) { try { var response = new ClienteResponse(); var bc = new ClienteComponent(); response.Result = bc.Find(id); return(response); } catch (Exception ex) { var httpError = new HttpResponseMessage() { StatusCode = (HttpStatusCode)422, ReasonPhrase = ex.Message }; throw new HttpResponseException(httpError); } }
public HttpResponse <ClienteResponse> NuevoCliente(ClienteRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El cliente que se intenta ingresar es invalido."))); } using (var db = new GeviApiContext()) { var tipoCli = db.TipoClientes .Where(tc => tc.Nombre == request.Tipo) .FirstOrDefault(); var nuevo = new Cliente() { Nombre = request.Nombre, Proyectos = null, Tipo = tipoCli }; try { db.Clientes.Add(nuevo); db.SaveChanges(); } catch (DbUpdateException) { return(newHttpErrorResponse(new Error("Ya existe un cliente con ese nombre."))); } var response = new ClienteResponse() { Id = nuevo.Id, Nombre = nuevo.Nombre, Proyectos = null, Tipo = tipoCli }; return(newHttpResponse(response)); } }
public ClienteResponse Alterar(AlterarClienteRequest cliente) { var clienteBase = lista.Where(x => x.Id == cliente.Id).FirstOrDefault(); clienteBase.Id = cliente.Id; clienteBase.Cpf = cliente.Cpf; clienteBase.DataNascimento = (DateTime)cliente.DataNascimento; clienteBase.Nome = cliente.Nome; clienteBase.Rg = cliente.Rg; var retorno = new ClienteResponse() { Id = clienteBase.Id, Cpf = clienteBase.Cpf, DataNascimento = clienteBase.DataNascimento, Nome = clienteBase.Nome, Rg = clienteBase.Rg, }; return(retorno); }
public async Task <ActionResult <ClienteResponse> > Post([FromBody] ClienteDTO cliente) { Logger.Information($"Se recibio posteo de nuevo cliente{cliente.NumeroCliente} - {cliente.RazonSocial} - Id de operacion: {cliente.IdOperacion}"); int idOperacion = cliente.IdOperacion; if (Env.IsProduction()) { if (int.TryParse(cliente.NumeroCliente, out _)) { cliente.NumeroCliente = string.Format("{0:00000000}", int.Parse(cliente.NumeroCliente)); } ; if (int.TryParse(cliente.NumeroSubcuenta, out _)) { cliente.NumeroSubcuenta = string.Format("{0:00000000}", int.Parse(cliente.NumeroSubcuenta)); } } VtmclhDTO clienteFormat = Mapper.Map <ClienteDTO, VtmclhDTO>(cliente); if (!ModelState.IsValid) { ModelState.AddModelError("Error", "Error de formato"); } ClienteResponse response = await Repository.GraboCliente(clienteFormat, "NEW"); response.IdOperacion = idOperacion; if (response.Estado != 200) { return(BadRequest(response)); } return(Ok(response)); }
public async Task <IActionResult> GetClient([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var client = await _context.Clients.Include(u => u.User).Include(a => a.Events) .FirstOrDefaultAsync(a => a.Id == id); var response = new ClienteResponse { FullName = client.User.FullName, Description = client.User.Description, Id = client.Id, Address = client.Address, Email = client.User.Email, PhoneNumber = client.User.PhoneNumber, UserName = client.User.UserName, Events = client.Events.Select(p => new EventResponse { Id = p.Id, Name = p.Name, Duration = p.Duration, EventDate = p.EventDate, People = p.People, Description = p.Description, }).ToList(), }; if (client == null) { return(NotFound()); } return(Ok(response)); }
public ClienteResponse cargarCliente(ClienteRequest request) { ClienteResponse response; DataAccess da = new DataAccess { CadenaConexion = ConfigurationManager.ConnectionStrings["jadetBD"].ConnectionString }; var resultado = da.listarUsuario(new Usuario { Id = request.IdCliente, }).FirstOrDefault(); response = new ClienteResponse { IdCliente = resultado.Id, Foto = resultado.Foto, Nombre = resultado.Nombre, Password = resultado.Password, Direccion = resultado.Direccion, IdEstatus = resultado.IdEstatus, IdRol = resultado.IdRol, Telefono = resultado.Telefono, UserName = resultado.UserName, ZonaPaqueteria = resultado.ZonaPaqueteria }; return(response); }
public ActionResult <bool> Gravar([FromBody] ClienteResponse request) { return(Ok(_cliente.Gravar(request))); }
public HttpResponse <ClienteResponse> ModificarCliente(ClienteRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El cliente que se intenta modificar es invalido."))); } using (var db = new GeviApiContext()) { var cli = db.Clientes .Where(c => c.Nombre.Equals(request.Nombre)) .Include(c => c.Proyectos) .Include(c => c.Tipo) .FirstOrDefault(); var tipo = db.TipoClientes .Where(t => t.Nombre.Equals(request.Tipo)) .FirstOrDefault(); if (cli == null) { return(newHttpErrorResponse(new Error("No existe el cliente"))); } if (cli.Tipo == tipo) { return(newHttpErrorResponse(new Error("El cliente ya es de ese tipo"))); } cli.Nombre = request.Nombre; cli.Tipo = tipo; db.Entry(cli).State = EntityState.Modified; db.SaveChanges(); var response = new ClienteResponse() { Id = cli.Id, Nombre = cli.Nombre, Tipo = cli.Tipo, Proyectos = null }; if (cli.Proyectos != null) { var proyectosResponse = new List <ProyectoResponse>(); foreach (var p in cli.Proyectos) { var nuevoProyResponse = new ProyectoResponse() { Id = p.Id, Nombre = p.Nombre, Cliente = cli.Nombre }; proyectosResponse.Add(nuevoProyResponse); } response.Proyectos = proyectosResponse; } return(newHttpResponse(response)); } }
public HttpResponse <LoginResponse> Login(string username, string password) { var encryptionManager = new EncryptionManager(); var pass = encryptionManager.Encryptdata(password); using (var db = new GeviApiContext()) { var user = db.Usuarios .Where(u => u.Email.Equals(username) && u.Contrasenia.Equals(pass)) .FirstOrDefault(); if (user != null) { #region cargarListas var clientes = db.Clientes .Include(c => c.Proyectos) .Include(c => c.Tipo) .ToList(); var tipoClientes = db.TipoClientes.ToList(); var monedas = db.Monedas.ToList(); var tipoGastos = db.TipoGastos.ToList(); var clientesResponse = new List <ClienteResponse>(); var tipoClientesResponse = new List <TipoResponse>(); var tipoGastosResponse = new List <TipoResponse>(); foreach (var c in clientes) { var nuevoCliente = new ClienteResponse() { Id = c.Id, Nombre = c.Nombre, Proyectos = null, // lo devuelvo null porque no me interesa devolver los proyectos Tipo = c.Tipo }; clientesResponse.Add(nuevoCliente); } foreach (var tc in tipoClientes) { var nuevoTipoCliente = new TipoResponse() { TipoNombre = tc.Nombre }; tipoClientesResponse.Add(nuevoTipoCliente); } foreach (var tg in tipoGastos) { var nuevoTipoGasto = new TipoResponse() { TipoNombre = tg.Nombre }; tipoGastosResponse.Add(nuevoTipoGasto); } #endregion if (user is Empleado) { Empleado usuario = user as Empleado; var viajes = db.Viajes .Where(v => v.Empleado.Id == usuario.Id) .Where(v => v.Estado == Estado.APROBADO) .Include(v => v.Empleado) .Include(v => v.Gastos) .Include(v => v.Proyecto) .ToList(); var response = new List <ViajeResponse>(); #region traerViajesDelEmpleado if (viajes != null) { foreach (var v in viajes) { var nuevo = new ViajeResponse() { Id = v.Id, EmpleadoId = usuario.Id, Estado = v.Estado, FechaFin = v.FechaFin, FechaInicio = v.FechaInicio, Gastos = null, Proyecto = v.Proyecto?.Nombre }; if (v.Gastos != null) { var gastosRespone = new List <GastoResponse>(); foreach (var g in v.Gastos) { var nuevoGastoResponse = new GastoResponse() { Id = g.Id, Estado = g.Estado, Fecha = g.Fecha, Moneda = g.Moneda?.Nombre, Tipo = g.Tipo?.Nombre, ViajeId = v.Id, Proyecto = g.Viaje?.Proyecto?.Nombre, Total = g.Total, Empleado = g.Empleado?.Nombre }; gastosRespone.Add(nuevoGastoResponse); } nuevo.Gastos = gastosRespone; } response.Add(nuevo); } } #endregion return(newHttpResponse(new LoginResponse() { Id = user.Id, Email = user.Email, FechaRegistro = user.FechaRegistro, Nombre = user.Nombre, Clientes = clientesResponse, Monedas = monedas, TipoClientes = tipoClientesResponse, TipoGastos = tipoGastosResponse, EsEmpleado = user is Empleado, ViajesAprobados = response })); } if (user is Administrativo) { var empleados = db.Usuarios .OfType <Empleado>() .ToList(); return(newHttpResponse(new LoginResponse() { Id = user.Id, Email = user.Email, FechaRegistro = user.FechaRegistro, Nombre = user.Nombre, Clientes = clientesResponse, Monedas = monedas, TipoClientes = tipoClientesResponse, TipoGastos = tipoGastosResponse, EsEmpleado = user is Empleado, Empleados = empleados })); } return(newHttpResponse(new LoginResponse() { Id = user.Id, Email = user.Email, FechaRegistro = user.FechaRegistro, Nombre = user.Nombre, Clientes = clientesResponse, Monedas = monedas, TipoClientes = tipoClientesResponse, TipoGastos = tipoGastosResponse, EsEmpleado = user is Empleado })); } else { return(newHttpErrorResponse(new Error("Login invalido. Verifique las credenciales."))); } } }
public HttpResponse <ClienteResponse> BorrarCliente(ClienteRequest request) { if (request == null) { return(newHttpErrorResponse(new Error("El cliente que se intenta borrar es invalido."))); } using (var db = new GeviApiContext()) { var cli = db.Clientes .Where(c => c.Nombre == request.Nombre) .Include(c => c.Proyectos.Select(p => p.Cliente)) .Include(c => c.Tipo) .FirstOrDefault(); if (cli == null) { return(newHttpErrorResponse(new Error("No existe el cliente"))); } var proyectos = db.Proyectos .Where(p => p.Cliente.Id == cli.Id) .Include(p => p.Cliente) .ToList(); var response = new ClienteResponse() { Id = cli.Id, Nombre = cli.Nombre, Proyectos = null, Tipo = cli.Tipo }; if (proyectos != null) { var proyectosResponse = new List <ProyectoResponse>(); foreach (var p in proyectos) { var nuevoProyResponse = new ProyectoResponse() { Id = p.Id, Nombre = p.Nombre, Cliente = cli?.Nombre }; proyectosResponse.Add(nuevoProyResponse); var viajes = db.Viajes .Where(v => v.Proyecto.Id == p.Id) .Include(v => v.Proyecto) .ToList(); if (viajes != null) { foreach (var v in viajes) { db.Viajes.Remove(v); db.SaveChanges(); } } db.Proyectos.Remove(p); db.SaveChanges(); } response.Proyectos = proyectosResponse; } db.Clientes.Remove(cli); db.SaveChanges(); return(newHttpResponse(response)); } }
public async Task <ClienteResponse> ActualizoCliente(Vtmclh cliente) { string errorAltaCodigoPostal = ""; string situacionDeIvaActual = ""; errorAltaCodigoPostal = await GeneroCodigoPostal(cliente.VtmclhCodpai, cliente.VtmclhCodpos, cliente.VtmclhJurisd); if (errorAltaCodigoPostal != "") { return(new ClienteResponse("Bad Request", 0, errorAltaCodigoPostal)); } errorAltaCodigoPostal = await GeneroCodigoPostal(cliente.VtmclhPaient, cliente.VtmclhCodent, cliente.VtmclhJurent); if (errorAltaCodigoPostal != "") { return(new ClienteResponse("Bad Request", 0, errorAltaCodigoPostal)); } Vtmclh clienteAActualizar = await Context.Vtmclh .Where(c => c.VtmclhNrocta == cliente.VtmclhNrocta) .FirstOrDefaultAsync(); if (clienteAActualizar == null) { return(new ClienteResponse("Bad Request", 0, $"El cliente {cliente.VtmclhNrocta} no existe")); } situacionDeIvaActual = clienteAActualizar.VtmclhCndiva; Type typeCliente = cliente.GetType(); System.Reflection.PropertyInfo[] listaPropiedades = typeCliente.GetProperties(); foreach (System.Reflection.PropertyInfo propiedad in listaPropiedades) { var value = propiedad.GetValue(cliente, null); if (propiedad.PropertyType == typeof(string)) { if ((string)value != "null" && (string)value != "NULL" && value != null && propiedad.Name != "VtmclhNrocta" && propiedad.Name != "Contactos") { if (propiedad.Name == "VtmclhFisjur") { if ((string)value != "J" && (string)value != "F") { return(new ClienteResponse("Bad Request", 0, $"El campo Tipo de Persona tiene un valor inválido")); } } if (propiedad.Name == "VtmclhLanexp") { if ((string)value != "1" && (string)value != "2" && (string)value != "3") { return(new ClienteResponse("Bad Request", 0, $"El campo Idioma de referencia tiene un valor inválido")); } } typeCliente.InvokeMember(propiedad.Name, BindingFlags.SetProperty, null, clienteAActualizar, new object[] { value }); } } } clienteAActualizar.VtmclhFecmod = DateTime.Now; clienteAActualizar.VtmclhUltopr = "M"; clienteAActualizar.VtmclhUserid = "API"; try { await Context.SaveChangesAsync(); } catch (Exception e) { return(new ClienteResponse("Bad Request", 0, e.InnerException.Message)); } foreach (Vtmclc contacto in cliente.Contactos) { contacto.VtmclcNrocta = cliente.VtmclhNrocta; ClienteResponse response = await this.actualizoContacto(contacto); if (response.Estado != 200) { return(response); } } foreach (Vtmcli impuesto in cliente.Impuestos) { impuesto.VtmcliNrocta = cliente.VtmclhNrocta; ClienteResponse response = await this.actualizoImpuesto(impuesto); if (response.Estado != 200) { return(response); } } //01/10/2021 - Se comenta dado que empiezan a informar impuestos desde app origen. //if (situacionDeIvaActual != clienteAActualizar.VtmclhCndiva) //{ // try // { // await Context.Database.BeginTransactionAsync(); // var rowsAffected = await Context.Database.ExecuteSqlRawAsync($"EXEC ALM_RegeneraVTMCLI @p0", parameters: new[] { cliente.VtmclhNrocta }); // await Context.Database.CommitTransactionAsync(); // } // catch (Exception e) // { // return new ClienteResponse("Bad Request", 0, e.InnerException.Message); // } //} return(new ClienteResponse("OK", 0, null, "Cliente actualizado")); }
public JsonResult Add(Cliente cliente, List <Producto> productos) { ClienteResponse request = trupper.AddCliente(cliente, productos.ToArray()); return(Json(request, JsonRequestBehavior.AllowGet)); }
public bool Gravar(ClienteResponse request) { return(_cliente.Gravar(_mapper.Map <ClienteModel>(request))); }
public ActionResult <bool> Update([FromBody] ClienteResponse request) { return(Ok(_cliente.Update(request))); }
public bool Update(ClienteResponse request) { return(_cliente.Update(_mapper.Map <ClienteModel>(request))); }
public async override void OnException(ExceptionContext context) { string errorMessage; if (context.Exception.InnerException != null) { errorMessage = $"{context.Exception.InnerException}"; if (typeof(AutoMapperMappingException) == context.Exception.InnerException.GetType()) { AutoMapperMappingException errorAutomapper = (AutoMapperMappingException)context.Exception.InnerException; errorMessage = $"Error: {errorAutomapper} origen: {errorAutomapper.MemberMap.SourceMember.Name}. " + $"Destino:{errorAutomapper.MemberMap.DestinationName}"; } } else { errorMessage = $"{context.Exception.Message}"; //- {context.Exception.StackTrace}"; } logger.Fatal(errorMessage); ClienteResponse response = new ClienteResponse("", 0, "") { }; switch (context.Exception.GetType().ToString()) { case "APINosis.Helpers.NotFoundException": response.Estado = 404; response.Titulo = "Not Found"; response.IdOperacion = 0; response.Mensaje = "El recurso solicitado no fue encontrado"; context.Result = new NotFoundObjectResult(response); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; break; case "APINosis.Helpers.BadRequestException": response.Estado = 400; response.Titulo = "Bad Request"; response.IdOperacion = 0; response.Mensaje = errorMessage; context.Result = new NotFoundObjectResult(response); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; break; default: response.Estado = 500; response.Titulo = "Error interno de la aplicación"; response.Mensaje = errorMessage; response.IdOperacion = 0; context.Result = new ObjectResult(response); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; break; } context.ExceptionHandled = true; }