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()); } }
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>()); } }
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", }); } }