Beispiel #1
0
        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> AprobacionSolicitudViatico(ViewModelsSolicitudViaticos viewModelsSolicitudViaticos)
        {
            try
            {
                var VerificarPresupuesto = await apiServicio.ObtenerElementoAsync1 <Response>(viewModelsSolicitudViaticos, new Uri(WebApp.BaseAddress),
                                                                                              "api/Presupuesto/ObtenerPresupuesto");

                if (VerificarPresupuesto.IsSuccess)
                {
                    var sol = new SolicitudViatico()
                    {
                        IdSolicitudViatico = viewModelsSolicitudViaticos.IdSolicitudViatico,
                        Estado             = 2
                    };

                    var respuestaEmpleado = await apiServicio.EditarAsync <Response>(sol, new Uri(WebApp.BaseAddress),
                                                                                     "api/SolicitudViaticos/ActualizarEstadoSolicitudViatico");

                    if (respuestaEmpleado.IsSuccess)
                    {
                        return(RedirectToAction("DetalleSolicitudViaticos", new { id = viewModelsSolicitudViaticos.IdEmpleado }));
                    }
                }
                return(this.RedireccionarMensajeTime("SolicitudViaticosContabilidad", "AprobacionSolicitudViatico", new { id = viewModelsSolicitudViaticos.IdSolicitudViatico }, $"{Mensaje.Error}|{VerificarPresupuesto.Message}|{"25000"}"));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
        public async Task <IActionResult> Reliquidacion(int id)
        {
            try
            {
                var sol = new SolicitudViatico()
                {
                    IdSolicitudViatico = id,
                    Estado             = 4
                };
                var sol1 = new SolicitudViaticoViewModel()
                {
                    SolicitudViatico = sol
                };

                var respuestaEmpleado = await apiServicio.EditarAsync <Response>(sol1, new Uri(WebApp.BaseAddress),
                                                                                 "api/SolicitudViaticos/ActualizarEstadoSolicitudViatico");

                if (respuestaEmpleado.IsSuccess)
                {
                    return(RedirectToAction("ListadoEmpleadosSolicitudViaticos"));
                }

                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #4
0
        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());
            }
        }
Beispiel #5
0
        public async Task <IActionResult> AprobacionSolicitudViatico(int id, int idEmpleado)
        {
            try
            {
                var sol = new SolicitudViatico()
                {
                    IdSolicitudViatico = id,
                    Estado             = 3
                };

                var respuestaEmpleado = await apiServicio.EditarAsync <Response>(sol, new Uri(WebApp.BaseAddress),
                                                                                 "api/SolicitudViaticos/ActualizarEstadoSolicitudViatico");

                if (respuestaEmpleado.IsSuccess)
                {
                    return(RedirectToAction("DetalleSolicitudViaticos", new { id = idEmpleado }));
                }

                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #6
0
        public async Task <Response> ActualizarEstadoReliquidacion([FromBody] SolicitudViatico solicitudViatico)
        {
            var informeViaticoActualizar = await db.SolicitudViatico.Where(x => x.IdSolicitudViatico == solicitudViatico.IdSolicitudViatico).FirstOrDefaultAsync();

            if (informeViaticoActualizar != null)
            {
                try
                {
                    informeViaticoActualizar.Estado = 5;
                    db.SolicitudViatico.Update(informeViaticoActualizar);
                    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.RegistroNoEncontrado,
            });
        }
Beispiel #7
0
        public async Task <Response> ActualizarEstadoSolicitudViatico([FromBody] SolicitudViatico solicitudViatico)
        {
            try
            {
                var solicitudViaticoActualizar = await db.SolicitudViatico.Where(x => x.IdSolicitudViatico == solicitudViatico.IdSolicitudViatico).FirstOrDefaultAsync();

                if (solicitudViaticoActualizar != null)
                {
                    try
                    {
                        solicitudViaticoActualizar.Estado = solicitudViatico.Estado;
                        solicitudViaticoActualizar.IdEmpleadoAprobador = solicitudViatico.IdEmpleadoAprobador;

                        await db.SaveChangesAsync();

                        return(new Response
                        {
                            IsSuccess = true,
                            Message = Mensaje.Satisfactorio,
                        });
                    }
                    catch (Exception ex)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                            ExceptionTrace       = ex.Message,
                            Message              = Mensaje.Excepcion,
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                            UserName             = "",
                        });

                        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> Delete(string id)
        {
            try
            {
                var respuesta = await apiServicio.SeleccionarAsync <Response>(id, new Uri(WebApp.BaseAddress),
                                                                              "api/ItinerarioViatico");


                var itinerario = JsonConvert.DeserializeObject <ItinerarioViatico>(respuesta.Resultado.ToString());

                var response = await apiServicio.EliminarAsync(id, new Uri(WebApp.BaseAddress)
                                                               , "api/ItinerarioViatico");

                if (response.IsSuccess)
                {
                    var solicitudViatico = new SolicitudViatico
                    {
                        IdSolicitudViatico = itinerario.IdSolicitudViatico
                    };

                    response = await apiServicio.InsertarAsync(solicitudViatico, new Uri(WebApp.BaseAddress),
                                                               "api/SolicitudViaticos/ActualizarValorTotalViatico");

                    await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        EntityID             = string.Format("{0} : {1}", "Sistema", id),
                        Message              = "Registro de itinerario viático eliminado",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Delete),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        UserName             = "******"
                    });

                    return(RedirectToAction("Index", new { IdSolicitudViatico = itinerario.IdSolicitudViatico }));
                }
                //return BadRequest();
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}", "Index"));
                // this.RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Eliminar Itinerario Viático",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Delete),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Beispiel #9
0
        public async Task <IActionResult> Edit(string id, ItinerarioViatico itinerarioViatico)
        {
            Response response = new Response();

            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    response = await apiServicio.EditarAsync(id, itinerarioViatico, new Uri(WebApp.BaseAddress),
                                                             "api/ItinerarioViatico");

                    if (response.IsSuccess)
                    {
                        var solicitudViatico = new SolicitudViatico
                        {
                            IdSolicitudViatico = itinerarioViatico.IdSolicitudViatico
                        };

                        response = await apiServicio.InsertarAsync(solicitudViatico, new Uri(WebApp.BaseAddress),
                                                                   "api/SolicitudViaticos/ActualizarValorTotalViatico");

                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                            EntityID             = string.Format("{0} : {1}", "Sistema", id),
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                            Message  = "Se ha actualizado un itinerario viático",
                            UserName = "******"
                        });

                        return(RedirectToAction("Index", new { IdSolicitudViatico = itinerarioViatico.IdSolicitudViatico }));
                    }
                    ViewData["Error"] = response.Message;
                    return(View(itinerarioViatico));
                }
                return(BadRequest());
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Editando un itinerario viático",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Beispiel #10
0
        public async Task <IActionResult> Create(ItinerarioViatico itinerarioViatico)
        {
            if (!ModelState.IsValid)
            {
                InicializarMensaje(null);
                return(View(itinerarioViatico));
            }
            Response response = new Response();

            try
            {
                response = await apiServicio.InsertarAsync(itinerarioViatico,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/ItinerarioViatico/InsertarItinerarioViatico");

                if (response.IsSuccess)
                {
                    var solicitudViatico = new SolicitudViatico
                    {
                        IdSolicitudViatico = itinerarioViatico.IdSolicitudViatico
                    };

                    response = await apiServicio.InsertarAsync(solicitudViatico, new Uri(WebApp.BaseAddress),
                                                               "api/SolicitudViaticos/ActualizarValorTotalViatico");

                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado un itinerario viático",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "Itinerario Viático:", itinerarioViatico.IdItinerarioViatico),
                    });


                    return(RedirectToAction("Index", new { IdSolicitudViatico = itinerarioViatico.IdSolicitudViatico }));
                }

                ViewData["Error"] = response.Message;
                return(View(itinerarioViatico));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #11
0
        public async Task <SolicitudViatico> ListarSolicitudesViaticosPorId([FromBody] SolicitudViatico solicitudViatico)
        {
            try
            {
                var ItinerarioViatico = db.ItinerarioViatico.Where(x => x.IdSolicitudViatico == solicitudViatico.IdSolicitudViatico).ToList();

                var SolicitudViatico = new SolicitudViatico();

                SolicitudViatico = await db.SolicitudViatico.SingleOrDefaultAsync(m => m.IdSolicitudViatico == solicitudViatico.IdSolicitudViatico);

                return(SolicitudViatico);
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
            return(new SolicitudViatico());
        }
        public async Task <IActionResult> EditEstado(ViewModelsSolicitudViaticos viewModelsSolicitudViaticos)
        {
            Response response = new Response();

            try
            {
                var claim         = HttpContext.User.Identities.Where(x => x.NameClaimType == ClaimTypes.Name).FirstOrDefault();
                var NombreUsuario = claim.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value;
                var empleado      = await ObtenerEmpleado(NombreUsuario);

                var soli = new SolicitudViatico
                {
                    Estado              = viewModelsSolicitudViaticos.Estado,
                    IdSolicitudViatico  = viewModelsSolicitudViaticos.IdSolicitudViatico,
                    IdEmpleadoAprobador = empleado.IdEmpleado
                };

                response = await apiServicio.InsertarAsync(soli, new Uri(WebApp.BaseAddress),
                                                           "api/SolicitudViaticos/ActualizarEstadoSolicitudViatico");

                if (response.IsSuccess)
                {
                    return(RedirectToAction("DetalleSolicitudViaticos", new { id = viewModelsSolicitudViaticos.IdEmpleado }));
                }
                ViewData["Error"] = response.Message;
                return(View(viewModelsSolicitudViaticos));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Editando un solicitud viático",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Beispiel #13
0
        private Response Existe(SolicitudViatico SolicitudViatico)
        {
            var bdd1 = SolicitudViatico.IdEmpleado;
            var bdd4 = SolicitudViatico.IdCiudad;
            var bdd5 = SolicitudViatico.IdConfiguracionViatico;
            var bdd6 = SolicitudViatico.FechaSolicitud;
            //var bdd7 = SolicitudViatico.Descripcion;
            var bdd8  = SolicitudViatico.ValorEstimado;
            var bdd9  = SolicitudViatico.FechaLlegada;
            var bdd10 = SolicitudViatico.FechaSalida;
            var bdd11 = SolicitudViatico.Observacion;
            var bdd12 = SolicitudViatico.Estado;
            var bdd13 = SolicitudViatico.HoraSalida;
            var bdd14 = SolicitudViatico.HoraLlegada;
            var solicitudviaticorespuesta = db.SolicitudViatico.Where(p => p.IdEmpleado == bdd1 &&
                                                                      p.IdCiudad == bdd4 &&
                                                                      p.IdConfiguracionViatico == bdd5 &&
                                                                      p.FechaSolicitud == bdd6
                                                                      //&& p.Descripcion == bdd7
                                                                      && p.ValorEstimado == bdd8 &&
                                                                      p.FechaLlegada == bdd9 &&
                                                                      p.FechaSalida == bdd10 &&
                                                                      p.Observacion == bdd11 &&
                                                                      p.Estado == bdd12 &&
                                                                      p.HoraSalida == bdd13 &&
                                                                      p.HoraLlegada == bdd14).FirstOrDefault();

            if (solicitudviaticorespuesta != null)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro,
                    Resultado = null,
                });
            }

            return(new Response
            {
                IsSuccess = false,
            });
        }
Beispiel #14
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 #15
0
        public async Task <IActionResult> Index(int IdSolicitudViatico, string mensaje)
        {
            SolicitudViatico         sol      = new SolicitudViatico();
            ListaEmpleadoViewModel   empleado = new ListaEmpleadoViewModel();
            List <ItinerarioViatico> lista    = new List <ItinerarioViatico>();

            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 <ItinerarioViatico>();
                            var itinerarioViatico = new ItinerarioViatico
                            {
                                IdSolicitudViatico = sol.IdSolicitudViatico
                            };
                            lista = await apiServicio.ObtenerElementoAsync1 <List <ItinerarioViatico> >(itinerarioViatico, new Uri(WebApp.BaseAddress)
                                                                                                        , "api/ItinerarioViatico/ListarItinerariosViaticos");
                        }

                        var solicitudViaticoViewModel = new SolicitudViaticoViewModel
                        {
                            SolicitudViatico       = sol,
                            ListaEmpleadoViewModel = empleado,
                            ItinerarioViatico      = lista
                        };


                        var respuestaPais = await apiServicio.SeleccionarAsync <Response>(solicitudViaticoViewModel.SolicitudViatico.IdPais.ToString(), new Uri(WebApp.BaseAddress),
                                                                                          "api/Pais");

                        var pais = JsonConvert.DeserializeObject <Pais>(respuestaPais.Resultado.ToString());
                        var respuestaProvincia = await apiServicio.SeleccionarAsync <Response>(solicitudViaticoViewModel.SolicitudViatico.IdProvincia.ToString(), new Uri(WebApp.BaseAddress),
                                                                                               "api/Provincia");

                        var provincia       = JsonConvert.DeserializeObject <Provincia>(respuestaProvincia.Resultado.ToString());
                        var respuestaCiudad = await apiServicio.SeleccionarAsync <Response>(solicitudViaticoViewModel.SolicitudViatico.IdCiudad.ToString(), new Uri(WebApp.BaseAddress),
                                                                                            "api/Ciudad");

                        var ciudad = JsonConvert.DeserializeObject <Ciudad>(respuestaCiudad.Resultado.ToString());



                        // ViewData["FechaSolicitud"] = solicitudViaticoViewModel.SolicitudViatico.FechaSolicitud;
                        ViewData["Pais"]      = pais.Nombre;
                        ViewData["Provincia"] = provincia.Nombre;
                        ViewData["Ciudad"]    = ciudad.Nombre;
                        InicializarMensaje(mensaje);
                        return(View(solicitudViaticoViewModel));
                    }
                }
                // return RedirectToAction("Index", new { mensaje = respuestaEmpleado.Message });
                return(BadRequest());
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
Beispiel #16
0
        public async Task <Response> PostSolicitudViatico([FromBody] ViewModelsSolicitudViaticos viewModelsSolicitudViaticos)
        {
            try
            {
                var empleado = await db.Empleado.Where(x => x.IdEmpleado == viewModelsSolicitudViaticos.IdEmpleado).FirstOrDefaultAsync();

                var dias = viewModelsSolicitudViaticos.FechaLlegada.Day - viewModelsSolicitudViaticos.FechaSalida.Day;

                if (empleado.EsJefe == true)
                {
                    if (dias == 0)
                    {
                        dias = 1;
                        viewModelsSolicitudViaticos.ValorEstimado = Convert.ToDecimal(ConstantesViaticos.Jefe) * dias;
                    }
                    viewModelsSolicitudViaticos.ValorEstimado = Convert.ToDecimal(ConstantesViaticos.Jefe) * dias;
                }
                else
                {
                    if (dias == 0)
                    {
                        dias = 1;
                        viewModelsSolicitudViaticos.ValorEstimado = Convert.ToDecimal(ConstantesViaticos.Operativo) * dias;
                    }
                    viewModelsSolicitudViaticos.ValorEstimado = Convert.ToDecimal(ConstantesViaticos.Operativo) * dias;
                }
                var datos = new SolicitudViatico()
                {
                    IdEmpleado             = viewModelsSolicitudViaticos.IdEmpleado,
                    IdCiudad               = viewModelsSolicitudViaticos.IdCiudad,
                    IdConfiguracionViatico = viewModelsSolicitudViaticos.IdConfiguracionViatico,
                    FechaSolicitud         = viewModelsSolicitudViaticos.FechaSolicitud,
                    Descripcion            = viewModelsSolicitudViaticos.Descripcion,
                    ValorEstimado          = viewModelsSolicitudViaticos.ValorEstimado,
                    FechaLlegada           = viewModelsSolicitudViaticos.FechaLlegada,
                    FechaSalida            = viewModelsSolicitudViaticos.FechaSalida,
                    Observacion            = viewModelsSolicitudViaticos.Observacion,
                    Estado                = 0,
                    HoraSalida            = viewModelsSolicitudViaticos.HoraSalida,
                    HoraLlegada           = viewModelsSolicitudViaticos.HoraLlegada,
                    IdFondoFinanciamiento = viewModelsSolicitudViaticos.IdFondoFinanciamiento
                };

                var respuesta = Existe(datos);
                if (!respuesta.IsSuccess)
                {
                    var solicitudViatico = db.SolicitudViatico.Add(datos);

                    var solTipoViatico = new SolicitudTipoViatico
                    {
                        IdSolicitudViatico = solicitudViatico.Entity.IdSolicitudViatico,
                        IdTipoViatico      = 1
                    };
                    db.SolicitudTipoViatico.Add(solTipoViatico);

                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio,
                        Resultado = solicitudViatico.Entity
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = "No existe tipo de viaticos",
                });
            }
        }
Beispiel #17
0
        public async Task <Response> PutSolicitudViatico([FromRoute] int id, [FromBody] SolicitudViatico solicitudViatico)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var existe = Existe(solicitudViatico);
                if (existe.IsSuccess)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ExisteRegistro,
                    });
                }

                var solicitudViaticoActualizar = await db.SolicitudViatico.Where(x => x.IdSolicitudViatico == id).FirstOrDefaultAsync();

                if (solicitudViaticoActualizar != null)
                {
                    try
                    {
                        solicitudViaticoActualizar.IdEmpleado             = solicitudViatico.IdEmpleado;
                        solicitudViaticoActualizar.IdCiudad               = solicitudViatico.IdCiudad;
                        solicitudViaticoActualizar.IdConfiguracionViatico = solicitudViatico.IdConfiguracionViatico;
                        solicitudViaticoActualizar.FechaSolicitud         = solicitudViatico.FechaSolicitud;
                        solicitudViaticoActualizar.Descripcion            = solicitudViatico.Descripcion;
                        solicitudViaticoActualizar.ValorEstimado          = solicitudViatico.ValorEstimado;
                        solicitudViaticoActualizar.FechaLlegada           = solicitudViatico.FechaLlegada;
                        solicitudViaticoActualizar.FechaSalida            = solicitudViatico.FechaSalida;
                        solicitudViaticoActualizar.Observacion            = solicitudViatico.Observacion;
                        solicitudViaticoActualizar.Estado = solicitudViatico.Estado;
                        await db.SaveChangesAsync();

                        return(new Response
                        {
                            IsSuccess = true,
                            Message = Mensaje.Satisfactorio,
                        });
                    }
                    catch (Exception ex)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                            ExceptionTrace       = ex.Message,
                            Message              = Mensaje.Excepcion,
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                            UserName             = "",
                        });

                        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)
        {
            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 #19
0
        public async Task <IActionResult> Detalle(int id)
        {
            SolicitudViatico         sol      = new SolicitudViatico();
            ListaEmpleadoViewModel   empleado = new ListaEmpleadoViewModel();
            List <ItinerarioViatico> lista    = new List <ItinerarioViatico>();

            try
            {
                if (id.ToString() != null)
                {
                    var respuestaSolicitudViatico = await apiServicio.SeleccionarAsync <Response>(id.ToString(), new Uri(WebApp.BaseAddress),
                                                                                                  "api/SolicitudViaticos");

                    if (respuestaSolicitudViatico.IsSuccess)
                    {
                        var solicitudViaticoViewModel = new SolicitudViaticoViewModel();

                        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 <ItinerarioViatico>();
                            var itinerarioViatico = new ItinerarioViatico
                            {
                                IdSolicitudViatico = sol.IdSolicitudViatico
                            };
                            lista = await apiServicio.ObtenerElementoAsync1 <List <ItinerarioViatico> >(itinerarioViatico, new Uri(WebApp.BaseAddress)
                                                                                                        , "api/ItinerarioViatico/ListarItinerariosViaticos");

                            if (lista.Count != 0)
                            {
                                solicitudViaticoViewModel.SolicitudViatico       = sol;
                                solicitudViaticoViewModel.ListaEmpleadoViewModel = empleado;
                                solicitudViaticoViewModel.ItinerarioViatico      = lista;
                            }
                            else
                            {
                                //return this.Redireccionar("SolicitudViaticosTH", "ListadoEmpleadosSolicitudViaticos", $"{Mensaje.ErrorItinerario}");
                                return(this.RedireccionarMensajeTime("SolicitudViaticosTH", "DetalleSolicitudViaticos", new { id = sol.IdEmpleado }, $"{Mensaje.ErrorItinerario}|{"25000"}"));
                            }
                        }


                        return(View(solicitudViaticoViewModel));
                    }
                }


                return(BadRequest());
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }