示例#1
0
 public ActionResult Anular(decimal IdEmpleado = 0, decimal IdLiquidacion = 0)
 {
     try
     {
         IdEmpresa        = GetIdEmpresa();
         info_liquidacion = bus_liquidacion.get_info(IdEmpresa, IdEmpleado, IdLiquidacion);
         ro_Historico_Liquidacion_Vacaciones_Det_Info.set_list(info_liquidacion.detalle);
         cargar_combo();
         return(View(info_liquidacion));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public bool Eliminar(ro_Historico_Liquidacion_Vacaciones_Info info)
 {
     try
     {
         using (Entities_rrhh db = new Entities_rrhh())
         {
             db.Database.ExecuteSqlCommand(" delete ro_Historico_Liquidacion_Vacaciones_Det where IdEmpresa='" + info.IdEmpresa + "'  and IdEmpleado='" + info.IdEmpleado + "'  and IdLiquidacion ='" + info.IdLiquidacion + "'");
             return(true);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        public ro_Historico_Liquidacion_Vacaciones_Info obtener_valores(int IdEmpresa, decimal IdEmpleado, decimal IdSolicitud)
        {
            try
            {
                int secuancia = 1;
                info           = new ro_Historico_Liquidacion_Vacaciones_Info();
                info_solicitud = bus_solicitud.get_info(IdEmpresa, IdEmpleado, IdSolicitud);
                if (info_solicitud == null)
                {
                    return(new ro_Historico_Liquidacion_Vacaciones_Info());
                }
                else
                {
                    info.IdSolicitud        = info_solicitud.IdSolicitud;
                    info.IdEmpleado         = info_solicitud.IdEmpleado;
                    info.Dias_q_Corresponde = info_solicitud.Dias_q_Corresponde;
                    info.Dias_pendiente     = info_solicitud.Dias_pendiente;
                    info.Dias_a_disfrutar   = info_solicitud.Dias_a_disfrutar;
                    info.Fecha_Desde        = info_solicitud.Fecha_Desde;
                    info.Fecha_Hasta        = info_solicitud.Fecha_Hasta;
                    info.Fecha_Retorno      = info_solicitud.Fecha_Retorno;
                    while (info_solicitud.Anio_Desde < info_solicitud.Anio_Hasta)
                    {
                        double valor_provision = 0;
                        valor_provision = bus_rubros_acumulados.get_vac_x_mes_x_anio(IdEmpresa, info.IdEmpleado, info_solicitud.Anio_Desde.Year, info_solicitud.Anio_Desde.Month);
                        ro_Historico_Liquidacion_Vacaciones_Det_Info info_det = new ro_Historico_Liquidacion_Vacaciones_Det_Info();
                        info_det.Anio = info_solicitud.Anio_Desde.Year;
                        info_det.Mes  = info_solicitud.Anio_Desde.Month;
                        info_det.Total_Remuneracion = valor_provision * 24;
                        info_det.Total_Vacaciones   = valor_provision;
                        if (valor_provision != 0)
                        {
                            info_det.Valor_Cancelar = (valor_provision / 15) * info_solicitud.Dias_a_disfrutar;
                        }

                        info_solicitud.Anio_Desde = info_solicitud.Anio_Desde.AddMonths(1);
                        info_det.Sec = secuancia;
                        info.detalle.Add(info_det);
                        secuancia++;
                    }
                    return(info);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Modificar(ro_Historico_Liquidacion_Vacaciones_Info info)
        {
            try
            {
                bus_liquidacion = new ro_Historico_Liquidacion_Vacaciones_Bus();
                if (ModelState.IsValid)
                {
                    string mensaje = "";
                    info.detalle = ro_Historico_Liquidacion_Vacaciones_Det_Info.get_list(info.IdTransaccionSession);
                    if (info.detalle != null)
                    {
                        foreach (var item in info.detalle)
                        {
                            if (item.Valor_Cancelar == 0)
                            {
                                mensaje = "Existen periodos con valores cero a cancelar";
                            }
                        }
                    }
                    if (mensaje != "")
                    {
                        ViewBag.mensaje = mensaje;
                        cargar_combo();
                        return(View(info));
                    }

                    if (!bus_liquidacion.modificarDB(info))
                    {
                        SessionFixed.IdTransaccionSessionActual = info.IdTransaccionSession.ToString();
                        cargar_combo();
                        return(View(info));
                    }
                    else
                    {
                        return(RedirectToAction("Modificar", new { IdEmpleado = info.IdEmpleado, IdLiquidacion = info.IdLiquidacion, Exito = true }));
                    }
                }
                else
                {
                    return(View(info));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
 public ActionResult Nuevo(ro_Historico_Liquidacion_Vacaciones_Info info)
 {
     try
     {
         bus_liquidacion = new ro_Historico_Liquidacion_Vacaciones_Bus();
         if (ModelState.IsValid)
         {
             string mensaje = "";
             info.detalle = Session["detalle"] as List <ro_Historico_Liquidacion_Vacaciones_Det_Info>;
             if (info.detalle != null)
             {
                 foreach (var item in info.detalle)
                 {
                     if (item.Valor_Cancelar == 0)
                     {
                         mensaje = "Existen periodos con valores cero a cancelar";
                     }
                 }
             }
             if (mensaje != "")
             {
                 ViewBag.mensaje = mensaje;
                 cargar_combo();
                 return(View(info));
             }
             info.IdEmpresa = GetIdEmpresa();
             if (!bus_liquidacion.guardarDB(info))
             {
                 cargar_combo();
                 return(View(info));
             }
             else
             {
                 return(RedirectToAction("Index"));
             }
         }
         else
         {
             return(View(info));
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        public ro_Historico_Liquidacion_Vacaciones_Info get_info(int IdEmpresa, decimal IdSolicitud)
        {
            try
            {
                ro_Historico_Liquidacion_Vacaciones_Info info = new ro_Historico_Liquidacion_Vacaciones_Info();

                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    vwro_Historico_Liquidacion_Vacaciones Entity = Context.vwro_Historico_Liquidacion_Vacaciones.FirstOrDefault(q => q.IdEmpresa == IdEmpresa &&
                                                                                                                                q.IdSolicitud == IdSolicitud);
                    if (Entity == null)
                    {
                        return(null);
                    }

                    info = new ro_Historico_Liquidacion_Vacaciones_Info
                    {
                        IdEmpresa          = Entity.IdEmpresa,
                        IdEmpleado         = Entity.IdEmpleado,
                        IdSolicitud        = Entity.IdSolicitud,
                        IdLiquidacion      = Entity.IdLiquidacion == null?0:Convert.ToInt32(Entity.IdLiquidacion),
                        IdEstadoAprobacion = Entity.IdEstadoAprobacion,
                        Fecha         = Entity.Fecha,
                        Fecha_Desde   = Entity.Fecha_Desde,
                        Fecha_Hasta   = Entity.Fecha_Hasta,
                        Fecha_Retorno = Entity.Fecha_Retorno,
                        Observaciones = Entity.Observacion,
                        Gozadas       = Entity.Gozadas,
                        Estado        = Entity.Estado,
                    };

                    info.lst_periodos = odata_det.get_list(IdEmpresa, IdSolicitud);
                    if (Entity.IdLiquidacion != null)
                    {
                        info.lst_detalle = odata_det_liq.Get_Lis(IdEmpresa, IdSolicitud);
                    }
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public ActionResult Nuevo(decimal IdEmpleado = 0, decimal IdSolicitud = 0)
 {
     try
     {
         ro_Historico_Liquidacion_Vacaciones_Info info = new ro_Historico_Liquidacion_Vacaciones_Info
         {
         };
         IdEmpresa          = GetIdEmpresa();
         info               = bus_liquidacion.obtener_valores(IdEmpresa, IdEmpleado, IdSolicitud);
         Session["detalle"] = info.detalle;
         cargar_combo();
         return(View(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public Boolean anularDB(ro_Historico_Liquidacion_Vacaciones_Info Info)
 {
     try
     {
         Info.ValorCancelado = Info.detalle.Sum(v => v.Valor_Cancelar);
         if (data.anularDB(Info))
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
 public ActionResult Anular(ro_Historico_Liquidacion_Vacaciones_Info info)
 {
     try
     {
         if (!bus_liquidacion.anularDB(info))
         {
             SessionFixed.IdTransaccionSessionActual = info.IdTransaccionSession.ToString();
             return(View(info));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        public ro_Historico_Liquidacion_Vacaciones_Info get_info(int IdEmpresa, decimal IdEmpleado, decimal IdLiquidacion)
        {
            try
            {
                ro_Historico_Liquidacion_Vacaciones_Info info = new ro_Historico_Liquidacion_Vacaciones_Info();

                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    var q = Context.vwro_Historico_Liquidacion_Vacaciones.FirstOrDefault(v => v.IdEmpresa == IdEmpresa &&
                                                                                         v.IdEmpleado == IdEmpleado &&
                                                                                         v.IdLiquidacion == IdLiquidacion);
                    if (q == null)
                    {
                        return(null);
                    }
                    info = new ro_Historico_Liquidacion_Vacaciones_Info
                    {
                        IdEmpresa          = q.IdEmpresa,
                        IdEmpleado         = q.IdEmpleado,
                        IdSolicitud        = q.IdLiquidacion,
                        Dias_q_Corresponde = q.Dias_q_Corresponde,
                        Dias_a_disfrutar   = q.Dias_a_disfrutar,
                        Dias_pendiente     = q.Dias_pendiente,
                        empleado           = q.pe_apellido + " " + q.pe_nombre,
                        ValorCancelado     = q.ValorCancelado,
                        Observaciones      = q.Observaciones,
                        Periodo            = q.Periodo,
                        FechaPago          = q.FechaPago,
                        Estado             = q.Estado,
                        Fecha_Desde        = q.Fecha_Desde,
                        Fecha_Hasta        = q.Fecha_Hasta,
                        Fecha_Retorno      = q.Fecha_Retorno
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] ro_Historico_Liquidacion_Vacaciones_Det_Info info_det)
        {
            bus_solicitud = new ro_Solicitud_Vacaciones_x_empleado_Bus();
            ro_Historico_Liquidacion_Vacaciones_Info model = new ro_Historico_Liquidacion_Vacaciones_Info();
            string IdSolicitud = !string.IsNullOrEmpty(Request.Params["IdSolicitud"]) ? Request.Params["IdSolicitud"].ToString() : "0";
            string IdEmpleado  = !string.IsNullOrEmpty(Request.Params["IdEmpleado"]) ? Request.Params["IdEmpleado"].ToString() : "0";

            var ro_solicitud = bus_solicitud.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), Convert.ToInt32(IdEmpleado), Convert.ToInt32(IdSolicitud));

            if (ro_solicitud == null)
            {
                ro_solicitud = new ro_Solicitud_Vacaciones_x_empleado_Info();
            }
            info_det.Total_Vacaciones = info_det.Total_Remuneracion / 24;
            info_det.Valor_Cancelar   = (info_det.Total_Vacaciones / ro_solicitud.Dias_q_Corresponde) * ro_solicitud.Dias_a_disfrutar;

            ro_Historico_Liquidacion_Vacaciones_Det_Info.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            model.detalle = ro_Historico_Liquidacion_Vacaciones_Det_Info.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)) as List <ro_Historico_Liquidacion_Vacaciones_Det_Info>;
            return(PartialView("_GridViewPartial_vacaciones_liquidadas_det", model.detalle));
        }
示例#12
0
        public ActionResult Modificar(decimal IdEmpleado = 0, decimal IdLiquidacion = 0, bool Exito = false)
        {
            try
            {
                IdEmpresa        = GetIdEmpresa();
                info_liquidacion = bus_liquidacion.get_info(IdEmpresa, IdEmpleado, IdLiquidacion);
                ro_Historico_Liquidacion_Vacaciones_Det_Info.set_list(info_liquidacion.detalle);
                cargar_combo();
                if (Exito)
                {
                    ViewBag.MensajeSuccess = MensajeSuccess;
                }

                return(View(info_liquidacion));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Modificar(int IdEmpresa = 0, decimal IdSolicitud = 0, bool Exito = false)
        {
            try
            {
                #region Validar Session
                if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
                {
                    return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
                }
                SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
                SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
                #endregion

                info_liquidacion = bus_liquidacion.get_info(IdEmpresa, IdSolicitud);
                info_liquidacion.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
                ro_Historico_Liquidacion_Vacaciones_Det_Info.set_list(info_liquidacion.lst_detalle, info_liquidacion.IdTransaccionSession);
                ro_Solicitud_Vacaciones_x_empleado_det_List.set_list(info_liquidacion.lst_periodos, info_liquidacion.IdTransaccionSession);

                if (info_liquidacion.lst_detalle.Count == 0)
                {
                    var info_sol_det = info_liquidacion.lst_periodos.FirstOrDefault(m => m.Tipo_liquidacion == "GOZA");
                    if (info_sol_det != null)
                    {
                        info_liquidacion.lst_detalle = bus_liquidacion.obtener_valores(info_liquidacion.IdEmpresa, info_liquidacion.IdEmpleado, info_sol_det.FechaIni, info_sol_det.FechaFin, info_sol_det.Dias_tomados);
                    }
                    ro_Historico_Liquidacion_Vacaciones_Det_Info.set_list(info_liquidacion.lst_detalle, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
                }

                cargar_combo();
                if (Exito)
                {
                    ViewBag.MensajeSuccess = MensajeSuccess;
                }

                return(View(info_liquidacion));
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#14
0
        public ActionResult Nuevo(decimal IdEmpleado = 0, decimal IdSolicitud = 0)
        {
            try
            {
                ro_Historico_Liquidacion_Vacaciones_Info model = new ro_Historico_Liquidacion_Vacaciones_Info
                {
                };
                IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
                var info_solicitud = bus_solicitud.get_info(IdEmpresa, IdEmpleado, IdSolicitud);
                model       = bus_liquidacion.obtener_valores(info_solicitud);
                IdSolicitud = model.IdSolicitud;
                ro_Historico_Liquidacion_Vacaciones_Det_Info.set_list(model.detalle);

                cargar_combo();
                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }
 public ActionResult Anular(ro_Historico_Liquidacion_Vacaciones_Info info)
 {
     try
     {
         bus_liquidacion = new ro_Historico_Liquidacion_Vacaciones_Bus();
         IdEmpresa       = GetIdEmpresa();
         info.IdEmpresa  = IdEmpresa;
         if (!bus_liquidacion.anularDB(info))
         {
             return(View(info));
         }
         else
         {
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        public Boolean anularDB(ro_Historico_Liquidacion_Vacaciones_Info info)
        {
            try
            {
                using (Entities_rrhh context = new Entities_rrhh())
                {
                    var contact = context.ro_Historico_Liquidacion_Vacaciones.First(obj => obj.IdEmpresa == info.IdEmpresa &&
                                                                                    obj.IdLiquidacion == info.IdLiquidacion && obj.IdEmpleado == info.IdEmpleado);
                    contact.Estado          = "I";
                    contact.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    contact.FechaHoraAnul   = DateTime.Now;
                    contact.MotiAnula       = info.MotiAnula;
                    context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Anular(int IdEmpresa = 0, decimal IdEmpleado = 0, decimal IdLiquidacion = 0)
        {
            try
            {
                #region Validar Session
                if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
                {
                    return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
                }
                SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
                SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
                #endregion

                info_liquidacion = bus_liquidacion.get_info(IdEmpresa, IdEmpleado, IdLiquidacion);
                info_liquidacion.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
                ro_Historico_Liquidacion_Vacaciones_Det_Info.set_list(info_liquidacion.detalle, info_liquidacion.IdTransaccionSession);
                cargar_combo();
                return(View(info_liquidacion));
            }
            catch (Exception)
            {
                throw;
            }
        }
 public Boolean guardarDB(ro_Historico_Liquidacion_Vacaciones_Info info)
 {
     try
     {
         using (Entities_rrhh context = new Entities_rrhh())
         {
             var contact = context.ro_Historico_Liquidacion_Vacaciones.FirstOrDefault(obj => obj.IdEmpresa == info.IdEmpresa &&
                                                                                      obj.IdLiquidacion == info.IdLiquidacion && obj.IdEmpleado == info.IdEmpleado);
             if (contact == null)
             {
                 context.ro_Historico_Liquidacion_Vacaciones.Add(new ro_Historico_Liquidacion_Vacaciones
                 {
                     IdEmpresa      = info.IdEmpresa,
                     IdSolicitud    = info.IdSolicitud,
                     IdLiquidacion  = info.IdLiquidacion = getId(info.IdEmpresa, Convert.ToInt32(info.IdEmpleado)),
                     IdEmpresa_OP   = info.IdEmpresa_OP,
                     IdOrdenPago    = info.IdOrdenPago,
                     IdEmpleado     = info.IdEmpleado,
                     ValorCancelado = info.ValorCancelado = info.lst_detalle.Sum(s => s.Valor_Cancelar),
                     FechaPago      = DateTime.Now,
                     Observaciones  = info.Observaciones,
                     IdUsuario      = info.IdUsuario,
                     Estado         = "A",
                     Fecha_Transac  = DateTime.Now,
                 });
             }
             else
             {
                 var lst_delete = context.ro_Historico_Liquidacion_Vacaciones_Det.Where(obj => obj.IdEmpresa == info.IdEmpresa &&
                                                                                        obj.IdLiquidacion == info.IdLiquidacion);
                 context.ro_Historico_Liquidacion_Vacaciones_Det.RemoveRange(lst_delete);
                 contact.Observaciones   = info.Observaciones;
                 contact.ValorCancelado  = info.ValorCancelado = info.lst_detalle.Sum(s => s.Valor_Cancelar);
                 contact.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                 contact.FechaHoraAnul   = DateTime.Now;
                 contact.MotiAnula       = info.MotiAnula;
             }
             foreach (var item in info.lst_detalle)
             {
                 context.ro_Historico_Liquidacion_Vacaciones_Det.Add(new ro_Historico_Liquidacion_Vacaciones_Det
                 {
                     IdEmpresa          = info.IdEmpresa,
                     IdLiquidacion      = info.IdLiquidacion,
                     Secuencia          = item.Secuencia,
                     Anio               = item.Anio,
                     Mes                = item.Mes,
                     Total_Remuneracion = item.Total_Remuneracion,
                     Total_Vacaciones   = item.Total_Vacaciones,
                     Valor_Cancelar     = item.Valor_Cancelar,
                 });
             }
             context.SaveChanges();
         }
         return(true);
     }
     catch (Exception ex)
     {
         tb_LogError_Data LogData = new tb_LogError_Data();
         LogData.GuardarDB(new tb_LogError_Info {
             Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ro_Historico_Liquidacion_Vacaciones_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
         });
         return(false);
     }
 }