public async Task <PedidoTrabajoAccionesResponse> FinalizarPedidoTrabajo(MCMovEstadoPTRequest request) { try { var maxIdEst = await context.McmovEstPt.Where(m => m.INumIdPt == request.iNumIdPT && m.INumDetPt == request.iNumDetPT && m.BEstRegistro == true).MaxAsync(m => (int?)m.INumDetEstPt) ?? 0; var MCMovEstadoPT = new McmovEstPt { BEstRegistro = true, CEstPt = "T", INumIdPt = request.iNumIdPT, INumDetPt = request.iNumDetPT, SdFecCreacion = DateTime.Now, SdFecIniEstado = DateTime.Now, VCodUsuCreacion = request.vCodUsuarioCreacion, INumDetEstPt = maxIdEst == 0 ? 1 : maxIdEst + 1, CNomTerCreacion = request.Terminal }; await context.McmovEstPt.AddAsync(MCMovEstadoPT); await context.SaveChangesAsync(); var McMaePT = await context.McmaePt.Where(x => x.INumIdPt == request.iNumIdPT).AsNoTracking().FirstOrDefaultAsync(); McMaePT.CEstPt = "T"; McMaePT.VCodUsuModificacion = request.vCodUsuarioCreacion; McMaePT.SdFecModificacion = DateTime.Now; McMaePT.CNomTerModificacion = request.Terminal; context.McmaePt.Update(McMaePT); await context.SaveChangesAsync(); return(new PedidoTrabajoAccionesResponse { Exito = true, Mensaje = "Operacion realizada exitosamente" }); } catch (Exception ex) { return(new PedidoTrabajoAccionesResponse { Exito = false, Mensaje = "Ha ocurrido un error inesperado " + ex.InnerException.Message }); } }
public async Task <HttpResponseMessage> IniciarPedidoTrabajo(MCMovEstadoPTRequest request, string baseUrl) { HttpResponseMessage response = null; try { using (var client = new HttpClient()) { var data = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); response = await client.PostAsync(baseUrl + "actividad/iniciar", data); } } catch (Exception ex) { Console.Write(ex); } return(response); }
public async Task <IActionResult> FinalizarPedidoTrabajo([FromBody] MCMovEstadoPTRequest request) { var response = await new PedidoTrabajoBLL(context, mapper).Finalizar(request); return(new OkObjectResult(response)); }
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 <PedidoTrabajoAccionesResponse> Finalizar(MCMovEstadoPTRequest request) { var pedidoTrabajoDAL = new PedidoTrabajoDAL(this.context, this.mapper); return(await pedidoTrabajoDAL.FinalizarPedidoTrabajo(request)); }