コード例 #1
0
        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());
            }
        }
コード例 #2
0
        public async Task <IActionResult> AprobacionSolicitudViatico(SolicitudViaticoViewModel solicitudViaticoViewModel)
        {
            try
            {
                var VerificarPresupuesto = await apiServicio.ObtenerElementoAsync1 <Response>(solicitudViaticoViewModel, new Uri(WebApp.BaseAddress),
                                                                                              "api/Presupuesto/ObtenerPresupuesto");

                if (VerificarPresupuesto.IsSuccess)
                {
                    var sol = new SolicitudViatico()
                    {
                        IdSolicitudViatico = solicitudViaticoViewModel.SolicitudViatico.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 = solicitudViaticoViewModel.SolicitudViatico.IdEmpleado }));
                    }
                }
                return(this.RedireccionarMensajeTime("SolicitudViaticosContabilidad", "AprobacionSolicitudViatico", new { id = solicitudViaticoViewModel.SolicitudViatico.IdSolicitudViatico }, $"{Mensaje.Error}|{VerificarPresupuesto.Message}|{"25000"}"));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
コード例 #3
0
        public async Task <IActionResult> Create(SolicitudViaticoViewModel solicitudViaticoViewModel)
        {
            if (ModelState.IsValid)
            {
                InicializarMensaje(null);
                return(View(solicitudViaticoViewModel));
            }
            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);

                solicitudViaticoViewModel.SolicitudViatico.IdEmpleado             = empleado.IdEmpleado;
                solicitudViaticoViewModel.SolicitudViatico.IdConfiguracionViatico = empleado.IdConfiguracionViatico;
                solicitudViaticoViewModel.SolicitudViatico.FechaSolicitud         = DateTime.Now.Date;

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

                var respuesta = JsonConvert.DeserializeObject <SolicitudViatico>(response.Resultado.ToString());

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado un solicitud viático",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "Solicitud Viático:", solicitudViaticoViewModel.SolicitudViatico.IdSolicitudViatico),
                    });

                    return(RedirectToAction("Create", "ItinerarioViatico", new { IdSolicitudViatico = respuesta.IdSolicitudViatico }));
                }

                ViewData["Error"] = response.Message;
                return(View(solicitudViaticoViewModel));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando Solicitud Viático",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
コード例 #4
0
        public async Task <IActionResult> Edit(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var respuesta = await apiServicio.SeleccionarAsync <Response>(id, new Uri(WebApp.BaseAddress),
                                                                                  "api/SolicitudViaticos");


                    var solicitudViatico = JsonConvert.DeserializeObject <SolicitudViatico>(respuesta.Resultado.ToString());
                    if (respuesta.IsSuccess)
                    {
                        InicializarMensaje(null);
                        await CargarCombos();

                        var listaTiposViaticos          = new List <TipoViatico>();
                        var listaSolicitudTiposViaticos = new List <SolicitudTipoViatico>();
                        listaTiposViaticos = await apiServicio.Listar <TipoViatico>(new Uri(WebApp.BaseAddress)
                                                                                    , "api/TiposDeViatico/ListarTiposDeViatico");

                        var solicitudTipoViatico = new SolicitudTipoViatico
                        {
                            IdSolicitudViatico = Convert.ToInt32(id)
                        };

                        listaSolicitudTiposViaticos = await apiServicio.ObtenerElementoAsync1 <List <SolicitudTipoViatico> >(solicitudTipoViatico, new Uri(WebApp.BaseAddress)
                                                                                                                             , "api/TiposDeViatico/ListarSolicitudesTiposViaticos");

                        var SolicitudViaticoViewModel = new SolicitudViaticoViewModel
                        {
                            SolicitudViatico     = solicitudViatico,
                            ListaTipoViatico     = listaTiposViaticos,
                            SolicitudTipoViatico = listaSolicitudTiposViaticos
                        };

                        return(View(SolicitudViaticoViewModel));
                    }
                }

                return(BadRequest());
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
コード例 #5
0
        public async Task <IActionResult> Create()
        {
            InicializarMensaje(null);
            ObtenerInstancia.Instance = null;

            await CargarCombos();

            var lista = new List <TipoViatico>();

            lista = await apiServicio.Listar <TipoViatico>(new Uri(WebApp.BaseAddress)
                                                           , "api/TiposDeViatico/ListarTiposDeViatico");

            var SolicitudViaticoViewModel = new SolicitudViaticoViewModel
            {
                ListaTipoViatico = lista
            };

            return(View(SolicitudViaticoViewModel));
        }
コード例 #6
0
        public async Task <IActionResult> EditEstado(SolicitudViaticoViewModel solicitudViaticoViewModel)
        {
            Response response = new Response();

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

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

                    return(RedirectToAction("DetalleSolicitudViaticos", new { id = solicitudViaticoViewModel.SolicitudViatico.IdEmpleado }));
                }
                ViewData["Error"] = response.Message;
                return(View(solicitudViaticoViewModel));
            }
            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());
            }
        }
コード例 #7
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());
            }
        }
コード例 #8
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());
            }
        }