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());
            }
        }
Пример #2
0
        public async Task <List <SolicitudTipoViatico> > GetSolicitudesTiposViaticos([FromBody] SolicitudTipoViatico solicitudTipoViatico)
        {
            try
            {
                return(await db.SolicitudTipoViatico.Where(x => x.IdSolicitudViatico == solicitudTipoViatico.IdSolicitudViatico).OrderBy(x => x.IdTipoViatico).ToListAsync());
            }
            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 List <SolicitudTipoViatico>());
            }
        }
Пример #3
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",
                });
            }
        }