Beispiel #1
0
        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());
            }
        }
Beispiel #2
0
        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());
            }
        }
Beispiel #3
0
        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());
            }
        }
Beispiel #4
0
        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,
                });
            }
        }
Beispiel #5
0
        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));
        }
Beispiel #7
0
        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());
            }
        }
Beispiel #8
0
        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,
                });
            }
        }
Beispiel #9
0
        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());
            }
        }
Beispiel #10
0
        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());
            }
        }
Beispiel #12
0
        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());
            }
        }