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 <ClienteResponse> GraboCliente(VtmclhDTO cliente, string tipoOperacion) { string errorAltaCodigoPostal = ""; errorAltaCodigoPostal = await GeneroCodigoPostal(cliente.VTMCLH_CODPAI, cliente.VTMCLH_CODPOS, cliente.VTMCLH_JURISD); if (errorAltaCodigoPostal != "") { return(new ClienteResponse("Bad Request", 0, errorAltaCodigoPostal)); } errorAltaCodigoPostal = await GeneroCodigoPostal(cliente.VTMCLH_PAIENT, cliente.VTMCLH_CODENT, cliente.VTMCLH_JURENT); if (errorAltaCodigoPostal != "") { return(new ClienteResponse("Bad Request", 0, errorAltaCodigoPostal)); } oVTMCLH.instancioObjeto(tipoOperacion); Type typeCliente = cliente.GetType(); System.Reflection.PropertyInfo[] listaPropiedades = typeCliente.GetProperties(); foreach (System.Reflection.PropertyInfo propiedad in listaPropiedades) { if (propiedad.PropertyType == typeof(string)) { oVTMCLH.asignoaTM("VTMCLH", propiedad.Name, (string)propiedad.GetValue(cliente, null), 1, Logger); } if (propiedad.PropertyType == typeof(List <VtmclcDTO>)) { oVTMCLH.limpioGrilla("VTMCLC"); foreach (VtmclcDTO contacto in cliente.Contactos) { oVTMCLH.asignoaTM("VTMCLC", "", (VtmclcDTO)contacto, 2, Logger); } } if (propiedad.PropertyType == typeof(List <VtmcliDTO>)) { //oVTMCLH.limpioGrilla("VTMCLI"); foreach (VtmcliDTO impuesto in cliente.Impuestos) { oVTMCLH.asignoaTM("VTMCLI", "", (VtmcliDTO)impuesto, 2, Logger); } } } oVTMCLH.asignoaTM("VTMCLH", "VTMCLH_CODCRD", "NA", 1, Logger); oVTMCLH.asignoaTM("VTMCLH", "VTMCLH_ZONENT", "NA", 1, Logger); oVTMCLH.asignoaTM("VTMCLH", "VTMCLH_CODEXP", "2", 1, Logger); Save PerformedOperation = oVTMCLH.save(); bool result = PerformedOperation.Result; string mensajeError = PerformedOperation.errorMessage; oVTMCLH.closeObjectInstance(); if (result == false) { return(new ClienteResponse("Bad Request", 0, mensajeError)); } return(new ClienteResponse("OK", 0, null, "Cliente generado")); }