public async Task <IActionResult> FinalizarReliquidacion(ReliquidacionViatico reliquidacionViatico) { Response response = new Response(); try { var solicitud = new SolicitudViatico { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico }; response = await apiServicio.ObtenerElementoAsync(solicitud, new Uri(WebApp.BaseAddress), "api/ReliquidacionViaticos/ActualizarEstadoReliquidacion"); if (response.IsSuccess) { return(RedirectToAction("Informe", new { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico, IdItinerarioViatico = reliquidacionViatico.IdItinerarioViatico })); } ViewData["Error"] = response.Message; return(RedirectToAction("Informe", new { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico, IdItinerarioViatico = reliquidacionViatico.IdItinerarioViatico })); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> CreateReliquidacion(ReliquidacionViatico reliquidacionViatico) { Response response = new Response(); try { response = await apiServicio.InsertarAsync(reliquidacionViatico, new Uri(WebApp.BaseAddress), "api/ReliquidacionViaticos/InsertarReliquidacionViatico"); if (response.IsSuccess) { return(RedirectToAction("Reliquidacion", new { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico, IdItinerarioViatico = reliquidacionViatico.IdItinerarioViatico })); } ViewData["IdTipoTransporte"] = new SelectList(await apiServicio.Listar <TipoTransporte>(new Uri(WebApp.BaseAddress), "api/TiposDeTransporte/ListarTiposDeTransporte"), "IdTipoTransporte", "Descripcion"); ViewData["IdCiudadDestino"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["IdCiudadOrigen"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["Error"] = response.Message; return(View(reliquidacionViatico)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> EditReliquidacion(string id, ReliquidacionViatico reliquidacion) { Response response = new Response(); try { if (!string.IsNullOrEmpty(id)) { response = await apiServicio.EditarAsync(id, reliquidacion, new Uri(WebApp.BaseAddress), "api/ReliquidacionViaticos"); if (response.IsSuccess) { return(RedirectToAction("Informe", new { IdSolicitudViatico = reliquidacion.IdSolicitudViatico, IdItinerarioViatico = reliquidacion.IdItinerarioViatico })); } ViewData["Error"] = response.Message; return(View(reliquidacion)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <Response> ActualizarReliquidacion([FromRoute] int id, [FromBody] ReliquidacionViatico reliquidacionViatico) { var informeViaticoActualizar = await db.ReliquidacionViatico.Where(x => x.IdReliquidacionViatico == id).FirstOrDefaultAsync(); if (informeViaticoActualizar != null) { try { var existe = Existe(reliquidacionViatico); if (!existe.IsSuccess) { informeViaticoActualizar.IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico; informeViaticoActualizar.Descripcion = reliquidacionViatico.Descripcion; informeViaticoActualizar.ValorEstimado = reliquidacionViatico.ValorEstimado; db.ReliquidacionViatico.Update(reliquidacionViatico); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } return(new Response { IsSuccess = false, Message = Mensaje.ExisteRegistro }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } } else { informeViaticoActualizar.IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico; informeViaticoActualizar.Descripcion = reliquidacionViatico.Descripcion; informeViaticoActualizar.ValorEstimado = reliquidacionViatico.ValorEstimado; db.ReliquidacionViatico.Add(reliquidacionViatico); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } }
public async Task <IActionResult> CreateReliquidacion(int id) { ViewData["IdTipoTransporte"] = new SelectList(await apiServicio.Listar <TipoTransporte>(new Uri(WebApp.BaseAddress), "api/TiposDeTransporte/ListarTiposDeTransporte"), "IdTipoTransporte", "Descripcion"); ViewData["IdCiudadDestino"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["IdCiudadOrigen"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["IdItemViatico"] = new SelectList(await apiServicio.Listar <ItemViatico>(new Uri(WebApp.BaseAddress), "api/ItemViaticos/ListarItemViaticosConReliquidacion"), "IdItemViatico", "Descripcion"); var reliquidacionViatico = new ReliquidacionViatico { IdSolicitudViatico = id, //ValorRequlidacion = Convert.ToInt32(ValorRequlidacion) }; InicializarMensaje(null); return(View(reliquidacionViatico)); }
public async Task <IActionResult> CreateReliquidacion() { var idIrininario = HttpContext.Session.GetInt32(Constantes.IdItinerario); var IdSolicitudtinerario = HttpContext.Session.GetInt32(Constantes.IdSolicitudtinerario); ViewData["IdTipoTransporte"] = new SelectList(await apiServicio.Listar <TipoTransporte>(new Uri(WebApp.BaseAddress), "api/TiposDeTransporte/ListarTiposDeTransporte"), "IdTipoTransporte", "Descripcion"); ViewData["IdCiudadDestino"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["IdCiudadOrigen"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); var itinerarioViatico = new ReliquidacionViatico { IdSolicitudViatico = Convert.ToInt32(IdSolicitudtinerario) }; InicializarMensaje(null); return(View(itinerarioViatico)); }
public async Task <IActionResult> CreateReliquidacion(ReliquidacionViatico reliquidacionViatico) { try { if (reliquidacionViatico.ValorRequlidacion == reliquidacionViatico.ValorEstimado) { Response response = new Response(); var solicitudViatico = new SolicitudViatico { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico }; var solicitud = await apiServicio.ObtenerElementoAsync1 <SolicitudViatico>(solicitudViatico, new Uri(WebApp.BaseAddress) , "api/SolicitudViaticos/ListarSolicitudesViaticosPorId"); if (solicitud != null) { response = await apiServicio.InsertarAsync(reliquidacionViatico, new Uri(WebApp.BaseAddress), "api/ReliquidacionViaticos/InsertarReliquidacionViatico"); if (response.IsSuccess) { return(RedirectToAction("Reliquidacion", new { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico })); } } this.TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"; } this.TempData["Mensaje"] = $"{Mensaje.Error}|{"El valor ingresado es incorrecto al valor de la reliquidacion"}"; ViewData["IdTipoTransporte"] = new SelectList(await apiServicio.Listar <TipoTransporte>(new Uri(WebApp.BaseAddress), "api/TiposDeTransporte/ListarTiposDeTransporte"), "IdTipoTransporte", "Descripcion"); ViewData["IdCiudadDestino"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["IdCiudadOrigen"] = new SelectList(await apiServicio.Listar <Ciudad>(new Uri(WebApp.BaseAddress), "api/Ciudad/ListarCiudad"), "IdCiudad", "Nombre"); ViewData["IdItemViatico"] = new SelectList(await apiServicio.Listar <ItemViatico>(new Uri(WebApp.BaseAddress), "api/ItemViaticos/ListarItemViaticosConReliquidacion"), "IdItemViatico", "Descripcion"); return(View(reliquidacionViatico)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <Response> InsertarReliquidacionViatico([FromBody] ReliquidacionViatico reliquidacionViatico) { try { db.ReliquidacionViatico.Add(reliquidacionViatico); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public async Task <IActionResult> FinalizarReliquidacion(ReliquidacionViatico reliquidacionViatico) { Response response = new Response(); try { response = await apiServicio.InsertarAsync(reliquidacionViatico, new Uri(WebApp.BaseAddress), "api/ReliquidacionViaticos/InsertarReliquidacionViatico"); if (response.IsSuccess) { return(RedirectToAction("Index", "ItinerarioViaticoTH", new { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico })); } ViewData["Error"] = response.Message; return(this.RedireccionarMensajeTime("ItinerarioViaticoTH", "Reliquidacion", new { IdSolicitudViatico = reliquidacionViatico.IdSolicitudViatico }, $"{Mensaje.Error}|{response.Message}|{"25000"}")); } catch (Exception ex) { return(BadRequest()); } }
private Response Existe(ReliquidacionViatico reliquidacionViatico) { var bdd1 = reliquidacionViatico.IdReliquidacionViatico; var bdd10 = reliquidacionViatico.IdSolicitudViatico; var bdd11 = reliquidacionViatico.ValorEstimado; var informeViaticos = db.ReliquidacionViatico.Where(p => p.IdReliquidacionViatico == bdd1 && p.IdSolicitudViatico == bdd10 && p.ValorEstimado == bdd11).FirstOrDefault(); if (informeViaticos != null) { return(new Response { IsSuccess = true, Message = Mensaje.ExisteRegistro, Resultado = null, }); } return(new Response { IsSuccess = false, Resultado = informeViaticos, }); }
public async Task <IActionResult> Reliquidacion(int IdSolicitudViatico, string mensaje) { SolicitudViatico sol = new SolicitudViatico(); ListaEmpleadoViewModel empleado = new ListaEmpleadoViewModel(); List <ReliquidacionViatico> lista = new List <ReliquidacionViatico>(); try { if (IdSolicitudViatico.ToString() != null) { var respuestaSolicitudViatico = await apiServicio.SeleccionarAsync <Response>(IdSolicitudViatico.ToString(), new Uri(WebApp.BaseAddress), "api/SolicitudViaticos"); //InicializarMensaje(null); if (respuestaSolicitudViatico.IsSuccess) { sol = JsonConvert.DeserializeObject <SolicitudViatico>(respuestaSolicitudViatico.Resultado.ToString()); var solicitudViatico = new SolicitudViatico { IdEmpleado = sol.IdEmpleado, }; var respuestaEmpleado = await apiServicio.SeleccionarAsync <Response>(solicitudViatico.IdEmpleado.ToString(), new Uri(WebApp.BaseAddress), "api/Empleados"); if (respuestaEmpleado.IsSuccess) { var emp = JsonConvert.DeserializeObject <Empleado>(respuestaEmpleado.Resultado.ToString()); var empleadoEnviar = new Empleado { NombreUsuario = emp.NombreUsuario, }; empleado = await apiServicio.ObtenerElementoAsync1 <ListaEmpleadoViewModel>(empleadoEnviar, new Uri(WebApp.BaseAddress), "api/Empleados/ObtenerDatosCompletosEmpleado"); lista = new List <ReliquidacionViatico>(); var itinerarioViatico = new ReliquidacionViatico { //IdSolicitudViatico = sol.IdSolicitudViatico IdSolicitudViatico = IdSolicitudViatico }; lista = await apiServicio.ObtenerElementoAsync1 <List <ReliquidacionViatico> >(itinerarioViatico, new Uri(WebApp.BaseAddress) , "api/ReliquidacionViaticos/ListarReliquidaciones"); //var informe = new InformeViatico() //{ // IdItinerarioViatico = IdItinerarioViatico //}; //lista = await apiServicio.Listar<InformeViatico>(informe, new Uri(WebApp.BaseAddress) // , "api/InformeViaticos/ListarInformeViaticos"); var facturas = new FacturaViatico() { IdSolicitudViatico = IdSolicitudViatico }; var listaFacruras = await apiServicio.Listar <FacturaViatico>(facturas, new Uri(WebApp.BaseAddress) , "api/FacturaViatico/ListarFacturas"); HttpContext.Session.SetInt32(Constantes.IdSolicitudtinerario, IdSolicitudViatico); //busca las actividades del informe var informeViatico = new InformeViatico { IdSolicitudViatico = IdSolicitudViatico }; var Actividades = await apiServicio.ObtenerElementoAsync1 <InformeActividadViatico>(informeViatico, new Uri(WebApp.BaseAddress) , "api/InformeViaticos/ObtenerActividades"); var descri = ""; if (Actividades == null) { descri = ""; } else { descri = Actividades.Descripcion; } var informeViaticoViewModel = new ReliquidacionViaticoViewModel { SolicitudViatico = sol, ListaEmpleadoViewModel = empleado, ReliquidacionViatico = lista, FacturaViatico = listaFacruras, IdSolicitudViatico = sol.IdSolicitudViatico, Descripcion = descri }; //var respuestaPais = await apiServicio.SeleccionarAsync<Response>(informeViaticoViewModel.SolicitudViatico.IdPais.ToString(), new Uri(WebApp.BaseAddress), // "api/Pais"); //var pais = JsonConvert.DeserializeObject<Pais>(respuestaPais.Resultado.ToString()); //var respuestaProvincia = await apiServicio.SeleccionarAsync<Response>(informeViaticoViewModel.SolicitudViatico.IdProvincia.ToString(), new Uri(WebApp.BaseAddress), // "api/Provincia"); //var provincia = JsonConvert.DeserializeObject<Provincia>(respuestaProvincia.Resultado.ToString()); //var respuestaCiudad = await apiServicio.SeleccionarAsync<Response>(informeViaticoViewModel.SolicitudViatico.IdCiudad.ToString(), new Uri(WebApp.BaseAddress), // "api/Ciudad"); //var ciudad = JsonConvert.DeserializeObject<Ciudad>(respuestaCiudad.Resultado.ToString()); //ViewData["Pais"] = pais.Nombre; //ViewData["Provincia"] = provincia.Nombre; //ViewData["Ciudad"] = ciudad.Nombre; InicializarMensaje(mensaje); return(View(informeViaticoViewModel)); } } } InicializarMensaje(null); return(View()); } catch (Exception exe) { return(BadRequest()); } }
public async Task <IActionResult> Reliquidacion(int IdSolicitudViatico, string mensaje) { try { var listaReliquidacion = new List <ReliquidacionViatico>(); var sol = new ViewModelsSolicitudViaticos { IdSolicitudViatico = IdSolicitudViatico }; if (IdSolicitudViatico.ToString() != null) { var respuestaSolicitudViatico = await apiServicio.ObtenerElementoAsync1 <ViewModelsSolicitudViaticos>(sol, new Uri(WebApp.BaseAddress), "api/SolicitudViaticos/ObtenerSolicitudesViaticosporId"); var reliquidacionViatico = new ReliquidacionViatico { IdSolicitudViatico = IdSolicitudViatico }; listaReliquidacion = await apiServicio.ObtenerElementoAsync1 <List <ReliquidacionViatico> >(reliquidacionViatico, new Uri(WebApp.BaseAddress) , "api/ReliquidacionViaticos/ListarReliquidaciones"); var valortotaReliquidacion = listaReliquidacion.Sum(x => x.ValorEstimado); ///Informe var informeViatico = new InformeViatico { IdSolicitudViatico = IdSolicitudViatico }; var listaintforme = await apiServicio.ObtenerElementoAsync1 <List <InformeViatico> >(informeViatico, new Uri(WebApp.BaseAddress) , "api/InformeViaticos/ListarInformeViaticos"); ///Valor total de informe var valortotaInforme = listaintforme.Sum(x => x.ValorEstimado); ///total facturas var facturas = new FacturaViatico() { IdSolicitudViatico = IdSolicitudViatico }; var listaFacruras = await apiServicio.Listar <FacturaViatico>(facturas, new Uri(WebApp.BaseAddress) , "api/FacturaViatico/ListarFacturas"); ///Valor total de Itinerario var valortotalfacturas = listaFacruras.Sum(x => x.ValorTotalFactura); var valorCalculo = (respuestaSolicitudViatico.ValorEstimado * 70) / 100; var EstadoReliquidacion = new ViewModelsSolicitudViaticos(); if ((listaFacruras.Count() > 0 || listaintforme.Count > 0) && respuestaSolicitudViatico.Estado == 4) { EstadoReliquidacion = calculos(Convert.ToDecimal(valortotaInforme), valortotalfacturas, Convert.ToDecimal(valorCalculo), Convert.ToDecimal(respuestaSolicitudViatico.ValorEstimado)); } //HttpContext.Session.SetInt32(Constantes.IdSolicitudtinerario, IdSolicitudViatico); //HttpContext.Session.SetInt32(Constantes.ValorReliquidacion, Convert.ToInt32(ValorReliquidacion.Valor)); ViewData["IdPresupuesto"] = new SelectList(await apiServicio.Listar <Presupuesto>(new Uri(WebApp.BaseAddress), "api/Presupuesto/ListarPresupuesto"), "IdPresupuesto", "NumeroPartidaPresupuestaria"); respuestaSolicitudViatico.ListaReliquidacionViatico = listaReliquidacion; respuestaSolicitudViatico.Reliquidacion = EstadoReliquidacion.Reliquidacion; respuestaSolicitudViatico.Valor = EstadoReliquidacion.Valor; InicializarMensaje(mensaje); return(View(respuestaSolicitudViatico)); } return(View()); } catch (Exception exe) { return(BadRequest()); } }