public async Task <IActionResult> FinalizarPedidoTrabajo(PedidosTrabajo request) { try { var IP = Request.HttpContext.Connection.RemoteIpAddress; string compName = DetermineCompName(IP.ToString()); var req = new MCMovEstadoPTRequest { iNumIdPT = request.MovimientoEstadoPT.iNumIdPT, iNumDetPT = request.MovimientoEstadoPT.iNumDetPT, vCodUsuarioCreacion = request.MovimientoEstadoPT.vCodUsuarioCreacion, iNumDetEstPT = request.MovimientoEstadoPT.iNumDetEstPT, Terminal = compName, Opcion = request.MovimientoEstadoPT.Opcion }; var pedido = new PedidoTrabajoBus(); //request.Terminal = Dns.GetHostEntry(Request.ServerVariables["REMOTE_ADDR"]).HostName; string baseUrl = this.configuration.GetSection("AppSettings").GetSection("Servicio").Value; var response = await pedido.FinalizarPedidoTrabajo(req, baseUrl); if (response != null) { if (response.IsSuccessStatusCode) { var carga = JsonConvert.DeserializeObject <McmaeCargaForDosResponse>(response.Content.ReadAsStringAsync().Result); if (carga.Exito == true) { ViewBag.MensajeExito = carga.Mensaje; } else { ViewBag.MensajeError = carga.Mensaje; } ViewData["Categorias"] = ListarCategoriasInconveniente(); return(View("PedidosTrabajo")); } else { switch (response.StatusCode) { case HttpStatusCode.InternalServerError: var mensajeErrorInterno = JsonConvert.DeserializeObject <ErrorInternoResponse>(response.Content.ReadAsStringAsync().Result); ModelState.AddModelError("ErrorMensaje", mensajeErrorInterno.Mensaje); Console.Write("Error"); break; case HttpStatusCode.UnprocessableEntity: var mensajeEntidadImprosesable = JsonConvert.DeserializeObject <ErrorInternoResponse>(response.Content.ReadAsStringAsync().Result); ModelState.AddModelError("ErrorMensaje", mensajeEntidadImprosesable.Mensaje); Console.Write("Error"); break; default: ModelState.AddModelError("ErrorMensaje", "Error interno en la aplicación web."); Console.Write("Error"); break; } } } else { ModelState.AddModelError("ErrorMensaje", "Error de comunicación con el servidor."); } } catch (Exception ex) { Console.Write("Error" + ex.Message); } return(Content("Ups! Un error ocurrio")); }
public async Task <IActionResult> ResponderInconvPT(PedidosTrabajo request) { List <string> paths = new List <string>(); //var a = Dns.GetHostByAddress(Request.Host.Host .ServerVariables.Item("REMOTE_HOST")).HostName; try { var IP = Request.HttpContext.Connection.RemoteIpAddress; string compName = DetermineCompName(IP.ToString()); var req = new MCMovBanPTRequest { iNumIdPT = request.MovimientoBanPT.iNumIdPT, iNumDetPT = request.MovimientoBanPT.iNumDetPT, vCodUsuarioCreacion = request.MovimientoBanPT.vCodUsuarioCreacion, ICodTraResponsable = request.MovimientoBanPT.ICodTraResponsable, VTipInconveniente = request.MovimientoBanPT.VTipInconveniente, Mensaje = request.MovimientoBanPT.Mensaje, Terminal = compName, Email = request.MovimientoBanPT.Email }; if (Request.Form.Files.Count > 0) { //req.Adjuntos = Request.Form.Files; foreach (var file in Request.Form.Files) { var ruta = SaveFile(file, request.MovimientoBanPT.PedidoTrabajo, "AdjuntosRpta"); paths.Add(ruta); } req.Rutas = paths; } var pedido = new NotificacionBus(); //request.Terminal = Dns.GetHostEntry(Request.ServerVariables["REMOTE_ADDR"]).HostName; string baseUrl = this.configuration.GetSection("AppSettings").GetSection("Servicio").Value; var response = await pedido.ResponderInconvenientePT(req, baseUrl); if (response != null) { if (response.IsSuccessStatusCode) { var carga = JsonConvert.DeserializeObject <McmaeCargaForDosResponse>(response.Content.ReadAsStringAsync().Result); if (carga.Exito == true) { ViewBag.MensajeExito = carga.Mensaje; } else { ViewBag.MensajeError = carga.Mensaje; } ViewData["Categorias"] = ListarCategoriasInconveniente(); return(View("Notificaciones")); } else { switch (response.StatusCode) { case HttpStatusCode.InternalServerError: var mensajeErrorInterno = JsonConvert.DeserializeObject <ErrorInternoResponse>(response.Content.ReadAsStringAsync().Result); ModelState.AddModelError("ErrorMensaje", mensajeErrorInterno.Mensaje); Console.Write("Error"); break; case HttpStatusCode.UnprocessableEntity: var mensajeEntidadImprosesable = JsonConvert.DeserializeObject <ErrorInternoResponse>(response.Content.ReadAsStringAsync().Result); ModelState.AddModelError("ErrorMensaje", mensajeEntidadImprosesable.Mensaje); Console.Write("Error"); break; default: ModelState.AddModelError("ErrorMensaje", "Error interno en la aplicación web."); Console.Write("Error"); break; } } } else { ModelState.AddModelError("ErrorMensaje", "Error de comunicación con el servidor."); } } catch (Exception ex) { Console.Write("Error" + ex.Message); } return(Content("Ups! Un error ocurrio")); }