public async Task <IActionResult> CreateInforme(InformeViatico informeViatico) { Response response = new Response(); try { response = await apiServicio.InsertarAsync(informeViatico, new Uri(WebApp.BaseAddress), "api/InformeViaticos/InsertarInformeViatico"); if (response.IsSuccess) { return(RedirectToAction("Informe", new { IdSolicitudViatico = informeViatico.IdSolicitudViatico, IdItinerarioViatico = informeViatico.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(informeViatico)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> EditInforme(string id, InformeViatico informeViatico) { Response response = new Response(); try { if (!string.IsNullOrEmpty(id)) { response = await apiServicio.EditarAsync(id, informeViatico, new Uri(WebApp.BaseAddress), "api/InformeViaticos"); if (response.IsSuccess) { return(RedirectToAction("Informe", new { IdSolicitudViatico = informeViatico.IdSolicitudViatico, IdItinerarioViatico = informeViatico.IdItinerarioViatico })); } ViewData["Error"] = response.Message; return(View(informeViatico)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> FinalizarInforme(InformeViatico informeViatico) { Response response = new Response(); try { var solicitud = new SolicitudViatico { IdSolicitudViatico = informeViatico.IdSolicitudViatico }; response = await apiServicio.ObtenerElementoAsync(solicitud, new Uri(WebApp.BaseAddress), "api/InformeViaticos/ActualizarEstadoInforme"); if (response.IsSuccess) { return(RedirectToAction("Informe", new { IdSolicitudViatico = informeViatico.IdSolicitudViatico, IdItinerarioViatico = informeViatico.IdItinerarioViatico })); } ViewData["Error"] = response.Message; return(RedirectToAction("Informe", new { IdSolicitudViatico = informeViatico.IdSolicitudViatico, IdItinerarioViatico = informeViatico.IdItinerarioViatico })); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> Informe(int IdSolicitudViatico, string mensaje) { List <InformeViatico> lista = new List <InformeViatico>(); try { var sol = new ViewModelsSolicitudViaticos { IdSolicitudViatico = IdSolicitudViatico, }; if (IdSolicitudViatico.ToString() != null) { var respuestaSolicitudViatico = await apiServicio.ObtenerElementoAsync1 <ViewModelsSolicitudViaticos>(sol, new Uri(WebApp.BaseAddress), "api/SolicitudViaticos/ObtenerSolicitudesViaticosporId"); //InicializarMensaje(null); if (respuestaSolicitudViatico != null) { lista = new List <InformeViatico>(); var itinerarioViatico = new InformeViatico { IdSolicitudViatico = IdSolicitudViatico }; lista = await apiServicio.ObtenerElementoAsync1 <List <InformeViatico> >(itinerarioViatico, 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"); respuestaSolicitudViatico.ListaInformeViatico = lista; respuestaSolicitudViatico.ListaFacturaViatico = listaFacruras; respuestaSolicitudViatico.InformeActividadViatico = Actividades; InicializarMensaje(mensaje); return(View(respuestaSolicitudViatico)); } } InicializarMensaje(null); return(View()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> Index(int IdSolicitudViatico, string mensaje) { try { var sol = new ViewModelsSolicitudViaticos { IdSolicitudViatico = IdSolicitudViatico }; if (IdSolicitudViatico.ToString() != null) { var respuestaSolicitudViatico = await apiServicio.ObtenerElementoAsync1 <ViewModelsSolicitudViaticos>(sol, new Uri(WebApp.BaseAddress), "api/SolicitudViaticos/ObtenerSolicitudesViaticosporId"); //total 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"); //calculo de reliquidacion var valortotalfacturas = listaFacruras.Sum(x => x.ValorTotalFactura); var valorCalculo = (respuestaSolicitudViatico.ValorEstimado * 70) / 100; var EstadoReliquidacion = new ViewModelsSolicitudViaticos(); if ((listaFacruras.Count() > 0 || respuestaSolicitudViatico.ListaInformeViatico.Count > 0) && respuestaSolicitudViatico.Estado == 4) { EstadoReliquidacion = calculos(Convert.ToDecimal(valortotaInforme), valortotalfacturas, Convert.ToDecimal(valorCalculo), Convert.ToDecimal(respuestaSolicitudViatico.ValorEstimado)); } respuestaSolicitudViatico.Reliquidacion = EstadoReliquidacion.Reliquidacion; respuestaSolicitudViatico.Valor = EstadoReliquidacion.Valor; InicializarMensaje(mensaje); return(View(respuestaSolicitudViatico)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <List <ReliquidacionViatico> > ListarReliquidaciones([FromBody] InformeViatico informeViatico) { try { return(await db.ReliquidacionViatico.Where(x => x.IdSolicitudViatico == informeViatico.IdSolicitudViatico).ToListAsync()); } catch (Exception ex) { return(new List <ReliquidacionViatico>()); } }
public async Task <List <InformeViatico> > ListarInformeViaticos([FromBody] InformeViatico informeViatico) { try { return(await db.InformeViatico.Where(x => x.IdSolicitudViatico == informeViatico.IdSolicitudViatico).Include(x => x.TipoTransporte).Include(x => x.CiudadOrigen).Include(x => x.CiudadDestino).ToListAsync()); } catch (Exception ex) { return(new List <InformeViatico>()); } }
public async Task <InformeActividadViatico> ObtenerActividades([FromBody] InformeViatico informeViatico) { try { var informeViaticoActualizar = await db.InformeActividadViatico.Where(x => x.IdSolicitudViatico == informeViatico.IdSolicitudViatico).FirstOrDefaultAsync(); return(informeViaticoActualizar); } catch (Exception ex) { return(new InformeActividadViatico()); } }
public async Task <IActionResult> CreateInforme() { 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 InformeViatico { IdSolicitudViatico = Convert.ToInt32(IdSolicitudtinerario) }; InicializarMensaje(null); return(View(itinerarioViatico)); }
private Response Existe(InformeViatico informeViatico) { var bdd1 = informeViatico.IdInformeViatico; var bdd2 = informeViatico.IdTipoTransporte; var bdd3 = informeViatico.NombreTransporte; var bdd4 = informeViatico.IdCiudadOrigen; var bdd5 = informeViatico.IdCiudadDestino; var bdd6 = informeViatico.FechaSalida; var bdd7 = informeViatico.HoraSalida; var bdd8 = informeViatico.FechaLlegada; var bdd9 = informeViatico.HoraLlegada; var bdd10 = informeViatico.IdSolicitudViatico; var bdd11 = informeViatico.ValorEstimado; var informeViaticos = db.InformeViatico.Where(p => p.IdInformeViatico == bdd1 && p.IdTipoTransporte == bdd2 && p.NombreTransporte == bdd3 && p.IdCiudadOrigen == bdd4 && p.IdCiudadDestino == bdd5 && p.FechaSalida == bdd6 && p.HoraSalida == bdd7 && p.FechaSalida == bdd8 && p.HoraSalida == bdd9 && 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 <Response> InsertarInformeViatico([FromBody] InformeViatico informeViatico) { try { db.InformeViatico.Add(informeViatico); 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> Actividades(InformeViatico informeViatico) { Response response = new Response(); try { response = await apiServicio.InsertarAsync(informeViatico, new Uri(WebApp.BaseAddress), "api/InformeViaticos/Actividades"); if (response.IsSuccess) { return(RedirectToAction("Informe", new { IdSolicitudViatico = informeViatico.IdSolicitudViatico, IdItinerarioViatico = informeViatico.IdItinerarioViatico })); } ViewData["Error"] = response.Message; return(RedirectToAction("Informe", new { IdSolicitudViatico = informeViatico.IdSolicitudViatico, IdItinerarioViatico = informeViatico.IdItinerarioViatico })); } catch (Exception ex) { return(BadRequest()); } }
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 <Response> ActualizarInformeViatico([FromRoute] int id, [FromBody] InformeViatico informeViatico) { var informeViaticoActualizar = await db.InformeViatico.Where(x => x.IdInformeViatico == id).FirstOrDefaultAsync(); if (informeViaticoActualizar != null) { try { var existe = Existe(informeViatico); if (!existe.IsSuccess) { informeViaticoActualizar.IdSolicitudViatico = informeViatico.IdSolicitudViatico; informeViaticoActualizar.IdTipoTransporte = informeViatico.IdTipoTransporte; informeViaticoActualizar.NombreTransporte = informeViatico.NombreTransporte; informeViaticoActualizar.IdCiudadDestino = informeViatico.IdCiudadDestino; informeViaticoActualizar.IdCiudadOrigen = informeViatico.IdCiudadOrigen; informeViaticoActualizar.FechaSalida = informeViatico.FechaSalida; informeViaticoActualizar.FechaLlegada = informeViatico.FechaLlegada; informeViaticoActualizar.HoraSalida = informeViatico.HoraSalida; informeViaticoActualizar.HoraLlegada = informeViatico.HoraLlegada; informeViaticoActualizar.ValorEstimado = informeViatico.ValorEstimado; db.InformeViatico.Update(informeViaticoActualizar); 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 = informeViatico.IdSolicitudViatico; informeViaticoActualizar.IdTipoTransporte = informeViatico.IdTipoTransporte; informeViaticoActualizar.NombreTransporte = informeViatico.NombreTransporte; informeViaticoActualizar.IdCiudadDestino = informeViatico.IdCiudadDestino; informeViaticoActualizar.IdCiudadOrigen = informeViatico.IdCiudadOrigen; informeViaticoActualizar.FechaSalida = informeViatico.FechaSalida; informeViaticoActualizar.FechaLlegada = informeViatico.FechaLlegada; informeViaticoActualizar.HoraSalida = informeViatico.HoraSalida; informeViaticoActualizar.HoraLlegada = informeViatico.HoraLlegada; informeViaticoActualizar.ValorEstimado = informeViatico.ValorEstimado; db.InformeViatico.Add(informeViaticoActualizar); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } }
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()); } }