public async Task <IActionResult> AprobacionSolicitudHorasExtra(int id)
        {
            try
            {
                if (id.ToString() != null)
                {
                    var respuesta = await apiServicio.SeleccionarAsync <Response>(id.ToString(), new Uri(WebApp.BaseAddress),
                                                                                  "api/SolicitudHorasExtras");


                    var a = JsonConvert.DeserializeObject <SolicitudHorasExtras>(respuesta.Resultado.ToString());
                    var solicitudhorasextra = new SolicitudHorasExtras
                    {
                        IdEmpleado = a.IdEmpleado,
                    };
                    //ViewData["IdBrigadaSSO"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.ObtenerElementoAsync1<BrigadaSSO>(solicitudPlanificacionVacaciones, new Uri(WebApp.BaseAddress), "api/BrigadasSSO/ListarBrigadasSSO"), "IdBrigadaSSO", "Nombre");
                    if (respuesta.IsSuccess)
                    {
                        ViewData["Fecha"]          = a.Fecha;
                        ViewData["CantidadHoras"]  = a.CantidadHoras;
                        ViewData["FechaSolicitud"] = a.FechaSolicitud;
                        return(View(a));
                    }
                }

                return(BadRequest());
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
예제 #2
0
        public async Task <IActionResult> Edit(string id, SolicitudHorasExtras solicitudhorasextra)
        {
            Response response = new Response();

            try
            {
                if (!string.IsNullOrEmpty(solicitudhorasextra.IdEmpleado.ToString()))
                {
                    solicitudhorasextra.FechaSolicitud = DateTime.Now;
                    var HorasExtra = new SolicitudHorasExtras
                    {
                        Fecha = solicitudhorasextra.Fecha,
                    };
                    var resultado = await apiServicio.ObtenerElementoAsync1 <Response>(HorasExtra, new Uri(WebApp.BaseAddress), "api/SolicitudHorasExtras/EsExtraordinaria");

                    solicitudhorasextra.EsExtraordinaria = false;
                    if (resultado.IsSuccess)
                    {
                        solicitudhorasextra.EsExtraordinaria = true;
                    }

                    response = await apiServicio.EditarAsync(solicitudhorasextra.IdEmpleado.ToString(), solicitudhorasextra, new Uri(WebApp.BaseAddress),
                                                             "api/SolicitudHorasExtras");

                    if (response.IsSuccess)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                            EntityID             = string.Format("{0} : {1}", "Solicitud Horas Extras", id),
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                            Message  = "Se ha actualizado una Solicitud de Horas Extra",
                            UserName = "******"
                        });

                        return(RedirectToAction("Index"));
                    }
                    ViewData["Error"] = response.Message;
                    //ViewData["IdBrigadaSSO"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar<BrigadaSSO>(new Uri(WebApp.BaseAddress), "api/BrigadasSSO/ListarBrigadasSSO"), "IdBrigadaSSO", "Nombre");
                    return(View(solicitudhorasextra));
                }
                return(BadRequest());
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Editando una Solicitud de Horas Extra",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
        public async Task <Response> PostSolicitudHorasExtras([FromBody] SolicitudHorasExtras SolicitudHorasExtras)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                //var respuesta = Existe(SolicitudHorasExtras);
                //if (!respuesta.IsSuccess)
                //{
                SolicitudHorasExtras.Estado = 0;
                db.SolicitudHorasExtras.Add(SolicitudHorasExtras);
                await db.SaveChangesAsync();

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

                //return new Response
                //{
                //    IsSuccess = false,
                //    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,
                });
            }
        }
        public async Task <IActionResult> AprobarSolicitudHorasExtra(string id, SolicitudHorasExtras solicitudhorasextras)
        {
            solicitudhorasextras.FechaAprobado = DateTime.Now;
            Response response = new Response();

            try
            {
                response = await apiServicio.EditarAsync(solicitudhorasextras.IdEmpleado.ToString(), solicitudhorasextras, new Uri(WebApp.BaseAddress),
                                                         "api/SolicitudHorasExtras");

                if (response.IsSuccess)
                {
                    await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        EntityID             = string.Format("{0} : {1}", "Solicitud Horas Extras", id),
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        Message  = "Se ha actualizado una Solicitud de Horas Extra",
                        UserName = "******"
                    });

                    return(RedirectToAction("DetalleSolicitudHorasExtra", new { id = solicitudhorasextras.IdEmpleado }));
                }
                ViewData["Error"] = response.Message;
                //ViewData["IdBrigadaSSO"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar<BrigadaSSO>(new Uri(WebApp.BaseAddress), "api/BrigadasSSO/ListarBrigadasSSO"), "IdBrigadaSSO", "Nombre");
                return(View(solicitudhorasextras));


                return(BadRequest());
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Editando una Solicitud de Horas Extra",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
        public async Task <Response> EsExtraordinaria([FromBody] SolicitudHorasExtras SolicitudHorasExtras)
        {
            try
            {
                //if (!ModelState.IsValid)
                //{
                //    return new Response
                //    {
                //        IsSuccess = false,
                //        Message = Mensaje.ModeloInvalido
                //    };
                //}

                var diaSemana = (int)SolicitudHorasExtras.Fecha.Date.DayOfWeek;

                if (diaSemana < 1 || diaSemana > 5)
                {
                    return(new Response {
                        IsSuccess = true
                    });
                }


                var feriadoAno = await db.ConfiguracionFeriados.Where(x => x.FechaHasta.Year == DateTime.Now.Year).ToListAsync();

                foreach (var item in feriadoAno)
                {
                    if (item.FechaDesde.Date <= SolicitudHorasExtras.Fecha.Date && item.FechaHasta.Date >= SolicitudHorasExtras.Fecha.Date)
                    {
                        return(new Response {
                            IsSuccess = true
                        });
                    }
                }
                ;



                return(new Response {
                    IsSuccess = false
                });
            }
            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,
                });
            }
        }
        public async Task <Response> PutSolicitudHorasExtras([FromRoute] int id, [FromBody] SolicitudHorasExtras SolicitudHorasExtras)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido,
                    });
                }

                var SolicitudHorasExtrasActualizar = await db.SolicitudHorasExtras.Where(x => x.IdSolicitudHorasExtras == SolicitudHorasExtras.IdSolicitudHorasExtras).FirstOrDefaultAsync();

                if (SolicitudHorasExtrasActualizar != null)
                {
                    try
                    {
                        SolicitudHorasExtrasActualizar.IdEmpleado       = id;
                        SolicitudHorasExtrasActualizar.Fecha            = SolicitudHorasExtras.Fecha;
                        SolicitudHorasExtrasActualizar.CantidadHoras    = SolicitudHorasExtras.CantidadHoras;
                        SolicitudHorasExtrasActualizar.Estado           = 0;
                        SolicitudHorasExtrasActualizar.Observaciones    = SolicitudHorasExtras.Observaciones;
                        SolicitudHorasExtrasActualizar.FechaSolicitud   = SolicitudHorasExtras.FechaSolicitud;
                        SolicitudHorasExtrasActualizar.FechaAprobado    = SolicitudHorasExtras.FechaAprobado;
                        SolicitudHorasExtrasActualizar.EsExtraordinaria = SolicitudHorasExtras.EsExtraordinaria;
                        db.SolicitudHorasExtras.Update(SolicitudHorasExtrasActualizar);
                        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 ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }
예제 #7
0
        public async Task <IActionResult> Create(SolicitudHorasExtras solicitudhorasextra)
        {
            if (ModelState.IsValid)
            {
                InicializarMensaje(null);
                return(View(solicitudhorasextra));
            }

            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 empleadoJson  = ObtenerEmpleadoLogueado(NombreUsuario);
                //var empleado = JsonConvert.DeserializeObject<Empleado>(empleadoJson.ToString());
                solicitudhorasextra.IdEmpleado     = empleadoJson.Result.IdEmpleado;
                solicitudhorasextra.FechaSolicitud = DateTime.Now;
                solicitudhorasextra.Estado         = 0;
                var HorasExtra = new SolicitudHorasExtras
                {
                    Fecha = solicitudhorasextra.Fecha,
                };
                var resultado = await apiServicio.ObtenerElementoAsync1 <Response>(HorasExtra, new Uri(WebApp.BaseAddress), "api/SolicitudHorasExtras/EsExtraordinaria");

                solicitudhorasextra.EsExtraordinaria = false;
                if (resultado.IsSuccess)
                {
                    solicitudhorasextra.EsExtraordinaria = true;
                }


                response = await apiServicio.InsertarAsync(solicitudhorasextra,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/SolicitudHorasExtras/InsertarSolicitudHorasExtras");

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado una Solicitud de Horas Extra",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "Solicitud Horas Extras:", solicitudhorasextra.IdSolicitudHorasExtras),
                    });

                    return(RedirectToAction("Index"));
                }

                ViewData["Error"] = response.Message;
                //ViewData["IdBrigadaSSO"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar<BrigadaSSO>(new Uri(WebApp.BaseAddress), "api/BrigadasSSO/ListarBrigadasSSO"), "IdBrigadaSSO", "Nombre");
                return(View(solicitudhorasextra));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando Solicitud Horas Extras",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }