private Response Existe(FacturaViatico facturaViatico) { var bdd1 = facturaViatico.IdFacturaViatico; var bdd2 = facturaViatico.NumeroFactura; var bdd3 = facturaViatico.ValorTotalFactura; var bdd4 = facturaViatico.FechaFactura; var facturaViaticorespuesta = db.FacturaViatico.Where(p => p.IdFacturaViatico == bdd1 && p.NumeroFactura == bdd2 && p.ValorTotalFactura == bdd3 && p.FechaFactura == bdd4 //&& p.FechaHasta == bdd5 //&& p.Valor == bdd6 //&& p.HoraSalida == bdd7 //&& p.HoraLlegada == bdd8 ).FirstOrDefault(); if (facturaViaticorespuesta != null) { return(new Response { IsSuccess = true, Message = Mensaje.ExisteRegistro, Resultado = null, }); } return(new Response { IsSuccess = false, Resultado = facturaViaticorespuesta, }); }
public async Task <IActionResult> Edit(string id, FacturaViatico facturaViatico) { Response response = new Response(); try { if (!string.IsNullOrEmpty(id)) { response = await apiServicio.EditarAsync(id, facturaViatico, new Uri(WebApp.BaseAddress), "api/FacturaViatico"); if (response.IsSuccess) { var solicitudViatico = new SolicitudViatico { IdSolicitudViatico = facturaViatico.IdSolicitudViatico }; return(RedirectToAction("Informe", "ItinerarioViatico", new { IdSolicitudViatico = facturaViatico.IdSolicitudViatico })); } ViewData["Error"] = response.Message; return(View(facturaViatico)); } return(BadRequest()); } 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 <IActionResult> Create(int IdSolicitudViatico) { ViewData["ItemViatico"] = new SelectList(await apiServicio.Listar <ItemViatico>(new Uri(WebApp.BaseAddress), "api/ItemViaticos/ListarItemViaticos"), "IdItemViatico", "Descripcion"); var facturaViatico = new FacturaViatico { IdSolicitudViatico = IdSolicitudViatico, }; InicializarMensaje(null); return(View(facturaViatico)); }
public async Task <List <FacturaViatico> > ListarFacturas([FromBody] FacturaViatico facturaViatico) { //Persona persona = new Persona(); try { return(await db.FacturaViatico.Where(x => x.IdSolicitudViatico == facturaViatico.IdSolicitudViatico).ToListAsync()); } catch (Exception ex) { return(new List <FacturaViatico>()); } }
public async Task <Response> InsertarFacturas([FromBody] ViewModelFacturaViatico viewModelFacturaViatico) { try { var documenttransfer = new FacturaViatico { NumeroFactura = viewModelFacturaViatico.NumeroFactura, IdSolicitudViatico = viewModelFacturaViatico.IdSolicitudViatico, IdItemViatico = viewModelFacturaViatico.IdItemViatico, FechaFactura = viewModelFacturaViatico.FechaFactura, ValorTotalFactura = viewModelFacturaViatico.ValorTotalFactura, Observaciones = viewModelFacturaViatico.Observaciones, Url = viewModelFacturaViatico.Url, }; var respuesta = Existe(documenttransfer); if (!respuesta.IsSuccess) { db.FacturaViatico.Add(documenttransfer); await db.SaveChangesAsync(); var id = documenttransfer.IdFacturaViatico; await uploadFileService.UploadFile(viewModelFacturaViatico.Fichero, "FacturaViaticos", Convert.ToString(id), ".pdf"); var seleccionado = db.FacturaViatico.Find(documenttransfer.IdFacturaViatico); seleccionado.Url = string.Format("{0}/{1}.{2}", "FacturaViaticos", Convert.ToString(id), "pdf"); db.FacturaViatico.Update(seleccionado); db.SaveChanges(); 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, }); } }
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> PutFacturaViatico([FromRoute] int id, [FromBody] FacturaViatico facturaViatico) { try { var existe = Existe(facturaViatico); if (existe.IsSuccess) { return(new Response { IsSuccess = false, Message = Mensaje.ExisteRegistro, }); } var facturaViaticoActualizar = await db.FacturaViatico.Where(x => x.IdFacturaViatico == id).FirstOrDefaultAsync(); if (facturaViaticoActualizar != null) { try { facturaViaticoActualizar.NumeroFactura = facturaViatico.NumeroFactura; facturaViaticoActualizar.FechaFactura = facturaViatico.FechaFactura; facturaViaticoActualizar.ValorTotalFactura = facturaViatico.ValorTotalFactura; facturaViaticoActualizar.FechaFactura = facturaViatico.FechaFactura; facturaViaticoActualizar.Observaciones = facturaViatico.Observaciones; facturaViaticoActualizar.IdItemViatico = facturaViatico.IdItemViatico; facturaViaticoActualizar.IdSolicitudViatico = facturaViatico.IdSolicitudViatico; db.FacturaViatico.Update(facturaViaticoActualizar); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio, }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } } return(new Response { IsSuccess = false, Message = Mensaje.ExisteRegistro }); } catch (Exception) { return(new Response { IsSuccess = false, Message = Mensaje.Excepcion }); } }
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()); } }