public ro_NominasPagosCheques_Info get_info(int IdEmpresa, decimal IdTransaccion)
        {
            try
            {
                ro_NominasPagosCheques_Info info = new ro_NominasPagosCheques_Info();

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

                    info = new ro_NominasPagosCheques_Info
                    {
                        IdEmpresa          = Entity.IdEmpresa,
                        IdTransaccion      = Entity.IdTransaccion,
                        IdNomina_Tipo      = Entity.IdNomina_Tipo,
                        IdNomina_TipoLiqui = Entity.IdNomina_TipoLiqui,
                        IdPeriodo          = Entity.IdPeriodo,
                        Observacion        = Entity.Observacion,
                        Estado             = Entity.Estado
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#2
0
        public ActionResult Modificar(int IdEmpresa = 0, decimal IdTransaccion = 0, bool Exito = false)
        {
            #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
            ro_NominasPagosCheques_Info model = bus_archivo.get_info(IdEmpresa, IdTransaccion);
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            model.detalle = bus_pago_detalle.get_list(IdEmpresa, IdTransaccion);
            ro_NominasPagosCheques_det_Info_list.set_list(model.detalle, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cargar_combos(model.IdNomina_Tipo);
            if (Exito)
            {
                ViewBag.MensajeSuccess = MensajeSuccess;
            }

            return(View(model));
        }
        public bool anularDB(ro_NominasPagosCheques_Info info)
        {
            try
            {
                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_NominasPagosCheques Entity = Context.ro_NominasPagosCheques.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTransaccion == info.IdTransaccion);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.Estado       = info.Estado = false;
                    Entity.IdUsuarioAnu = info.IdUsuarioAnu;
                    Entity.FechaAnu     = info.FechaAnu = DateTime.Now;
                    string sql = "Update ro_NominasPagosCheques_det set Estado=0 where IdEmpresa='" + info.IdEmpresa + "'  and IdTransaccion='" + info.IdTransaccion + "'";
                    Context.Database.ExecuteSqlCommand(sql);
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#4
0
        public ActionResult GridViewPartial_pagos_cheques_det()
        {
            SessionFixed.IdTransaccionSessionActual = Request.Params["TransaccionFixed"] != null ? Request.Params["TransaccionFixed"].ToString() : SessionFixed.IdTransaccionSessionActual;
            ro_NominasPagosCheques_Info model = new ro_NominasPagosCheques_Info();

            model.detalle = ro_NominasPagosCheques_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            return(PartialView("_GridViewPartial_pagos_cheques_det", model));
        }
示例#5
0
        public ActionResult EditingDelete([ModelBinder(typeof(DevExpressEditorsBinder))] ro_NominasPagosCheques_det_Info info_det)
        {
            ro_NominasPagosCheques_det_Info_list.DeleteRow(Convert.ToDecimal(info_det.IdEmpleado), Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            ro_NominasPagosCheques_Info model = new ro_NominasPagosCheques_Info();

            model.detalle = ro_NominasPagosCheques_det_Info_list.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            return(PartialView("_GridViewPartial_archivo_transferencia_det", model));
        }
        public ActionResult Nuevo(ro_NominasPagosCheques_Info model)
        {
            var parametros = bus_parametro.get_info(model.IdEmpresa);

            if (parametros == null)
            {
                parametros = new ro_Parametros_Info();
            }
            var tipo_op = bus_tipo_op.get_info(model.IdEmpresa, parametros.IdTipo_op_sueldo_por_pagar);

            model.detalle = ro_NominasPagosCheques_det_Info_list.get_list(model.IdTransaccionSession);
            if (tipo_op == null)
            {
                ViewBag.mensaje = "No existe parametros para las ordenes de pagos";
                cargar_combos(model.IdNomina_Tipo);
                return(View(model));
            }
            else
            {
                if (tipo_op.IdCtaCble == null)
                {
                    ViewBag.mensaje = "No existe cuenta contable en tipo de orden de pago";
                    cargar_combos(model.IdNomina_Tipo);
                    return(View(model));
                }
            }
            if (model.detalle == null || model.detalle.Count() == 0)
            {
                ViewBag.mensaje = "No existe detalle para el pago";
                cargar_combos(model.IdNomina_Tipo);
                return(View(model));
            }
            else
            {
                foreach (var item in model.detalle)
                {
                    if (item.IdCtaCble_Emplea == null || item.IdCtaCble_Emplea == "")
                    {
                        ViewBag.mensaje = "El empleado " + item.pe_nombreCompleto + " no tiene cuenta contable";
                        cargar_combos(model.IdNomina_Tipo);
                        return(View(model));
                    }
                }
            }



            model.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.IdUsuario = SessionFixed.IdUsuario;
            if (!bus_archivo.guardarDB(model))
            {
                cargar_combos(model.IdNomina_Tipo);
                return(View(model));
            }

            return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdTransaccion = model.IdTransaccion, Exito = true }));
        }
 public bool modificarDB(ro_NominasPagosCheques_Info info)
 {
     try
     {
         return(odata.modificarDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#8
0
        public ActionResult Anular(ro_NominasPagosCheques_Info model)
        {
            model.detalle = ro_NominasPagosCheques_det_Info_list.get_list(model.IdTransaccionSession);

            model.IdEmpresa    = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.IdUsuarioAnu = SessionFixed.IdUsuario;
            model.FechaAnu     = DateTime.Now;
            if (!bus_archivo.anularDB(model))
            {
                cargar_combos(model.IdNomina_Tipo);
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
示例#9
0
 public ActionResult Modificar(ro_NominasPagosCheques_Info model)
 {
     model.detalle = ro_NominasPagosCheques_det_Info_list.get_list(model.IdTransaccionSession);
     if (model.detalle == null || model.detalle.Count() == 0)
     {
         ViewBag.mensaje = "No existe detalle para el arhivo";
         cargar_combos(model.IdNomina_Tipo);
         return(View(model));
     }
     model.IdEmpresa    = Convert.ToInt32(Session["IdEmpresa"]);
     model.IdUsuarioAnu = Session["IdUsuario"].ToString();
     if (!bus_archivo.modificarDB(model))
     {
         cargar_combos(model.IdNomina_Tipo);
         return(View(model));
     }
     return(RedirectToAction("Index"));
 }
        public bool modificarDB(ro_NominasPagosCheques_Info info)
        {
            try
            {
                int secuencia = 1;
                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_NominasPagosCheques Entity = Context.ro_NominasPagosCheques.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTransaccion == info.IdTransaccion);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdNomina_Tipo      = info.IdNomina_Tipo;
                    Entity.IdNomina_TipoLiqui = info.IdNomina_TipoLiqui;
                    Entity.IdPeriodo          = info.IdPeriodo;
                    Entity.Observacion        = info.Observacion;
                    var detalle = Context.ro_NominasPagosCheques_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdTransaccion == info.IdTransaccion);
                    Context.ro_NominasPagosCheques_det.RemoveRange(detalle);
                    foreach (var item in info.detalle)
                    {
                        ro_NominasPagosCheques_det Entity_ = new ro_NominasPagosCheques_det
                        {
                            IdEmpresa     = item.IdEmpresa,
                            IdTransaccion = item.IdTransaccion,
                            IdSucursal    = item.IdSucursal,
                            Secuencia     = secuencia,
                            IdEmpleado    = item.IdEmpleado,
                            Valor         = item.Valor,
                        };
                        Context.ro_NominasPagosCheques_det.Add(Entity_);
                        secuencia++;
                    }

                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public bool anularDB(ro_NominasPagosCheques_Info info)
 {
     try
     {
         foreach (var item in info.detalle)
         {
             item.info_orden_pago                  = new cp_orden_pago_Info();
             item.info_orden_pago.IdEmpresa        = info.IdEmpresa;
             item.info_orden_pago.IdOrdenPago      = item.IdOrdenPago;
             item.info_orden_pago.info_comprobante = bus_comprobante.get_info(item.IdEmpresa, item.IdTipoCbte, item.IdCbteCble);
             item.info_orden_pago.info_comprobante.lst_ct_cbtecble_det = bus_comprobante_det.get_list(item.IdEmpresa, item.IdTipoCbte, item.IdCbteCble);
             bus_orden.anularDB(item.info_orden_pago);
         }
         return(odata.anularDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#12
0
 public ActionResult Nuevo(int IdEmpresa = 0, int IdNomina_Tipo_Tipo = 0, int IdNomina_Tipo_TipoLiqui = 0, int IdPeriodo = 0)
 {
     #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
     ro_NominasPagosCheques_Info model = new ro_NominasPagosCheques_Info
     {
         IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa),
         IdNomina_Tipo        = IdNomina_Tipo_Tipo,
         IdNomina_TipoLiqui   = IdNomina_Tipo_TipoLiqui,
         IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual),
     };
     ro_NominasPagosCheques_det_Info_list.set_list(model.detalle, Convert.ToDecimal(SessionFixed.IdTransaccionSession));
     cargar_combos(0);
     return(View(model));
 }
        public bool guardarDB(ro_NominasPagosCheques_Info info)
        {
            try
            {
                get_op_x_empleados(info);

                foreach (var item in info.detalle)
                {
                    bus_orden.guardarDB(item.info_orden_pago);
                    item.IdEmpresa_op = info.IdEmpresa;
                    item.IdOrdenPago  = item.info_orden_pago.IdOrdenPago;
                    item.Secuancia_op = 1;
                    item.IdEmpresa_dc = info.IdEmpresa;
                    item.IdTipoCbte   = item.info_orden_pago.info_comprobante.IdTipoCbte;
                    item.IdCbteCble   = item.info_orden_pago.info_comprobante.IdCbteCble;
                }
                return(odata.guardarDB(info));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool guardarDB(ro_NominasPagosCheques_Info info)
        {
            try
            {
                int     secuencia = 1;
                decimal IdNovedad = odata_novedad.get_id(info.IdEmpresa);

                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    var info_rubros_calculados    = Context.ro_rubros_calculados.Where(v => v.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    ro_NominasPagosCheques Entity = new ro_NominasPagosCheques
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdTransaccion      = info.IdTransaccion = Convert.ToInt32(get_id(info.IdEmpresa)),
                        IdNomina_Tipo      = info.IdNomina_Tipo,
                        IdNomina_TipoLiqui = info.IdNomina_TipoLiqui,
                        IdPeriodo          = info.IdPeriodo,
                        Observacion        = info.Observacion,
                        Estado             = info.Estado = true,
                        IdUsuario          = info.IdUsuario,
                        FechaTransac       = info.FechaTransac = DateTime.Now
                    };
                    Context.ro_NominasPagosCheques.Add(Entity);

                    foreach (var item in info.detalle)
                    {
                        ro_NominasPagosCheques_det Entity_ = new ro_NominasPagosCheques_det
                        {
                            IdEmpresa     = item.IdEmpresa,
                            IdTransaccion = item.IdTransaccion = info.IdTransaccion,
                            IdSucursal    = item.IdSucursal,
                            IdEmpleado    = item.IdEmpleado,
                            Valor         = item.Valor,
                            Secuencia     = secuencia,
                            IdEmpresa_op  = info.IdEmpresa,
                            IdOrdenPago   = item.IdOrdenPago,
                            Secuancia_op  = item.Secuancia_op,
                            IdEmpresa_dc  = item.IdEmpresa_dc,
                            IdTipoCbte    = item.IdTipoCbte,
                            IdCbteCble    = item.IdCbteCble
                        };
                        Context.ro_NominasPagosCheques_det.Add(Entity_);
                        secuencia++;


                        if (info_rubros_calculados != null)
                        {
                            if (info_rubros_calculados.IdRubro_novedad_proceso != null)
                            {
                                ro_empleado_Novedad Entity_nov = new ro_empleado_Novedad
                                {
                                    IdEmpresa          = info.IdEmpresa,
                                    IdSucursal         = item.IdSucursal,
                                    IdNovedad          = IdNovedad,
                                    IdNomina_Tipo      = info.IdNomina_Tipo,
                                    IdNomina_TipoLiqui = info.IdNomina_TipoLiqui,
                                    IdEmpleado         = Convert.ToInt32(item.IdEmpleado),
                                    Fecha = DateTime.Now.Date,

                                    Observacion   = info.Observacion == null ? "" : info.Observacion,
                                    Estado        = "A",
                                    IdUsuario     = info.IdUsuario,
                                    Fecha_Transac = DateTime.Now
                                };
                                Context.ro_empleado_Novedad.Add(Entity_nov);

                                ro_empleado_novedad_det Entity_nov_det = new ro_empleado_novedad_det
                                {
                                    IdEmpresa   = info.IdEmpresa,
                                    IdNovedad   = IdNovedad,
                                    FechaPago   = DateTime.Now.Date,
                                    IdRubro     = info_rubros_calculados.IdRubro_novedad_proceso,
                                    Valor       = item.Valor,
                                    Observacion = item.Observacion,
                                    EstadoCobro = "PEN",
                                    Secuencia   = 1
                                };
                                Context.ro_empleado_novedad_det.Add(Entity_nov_det);
                                IdNovedad++;
                            }
                        }
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        // generar ordenes de pagos
        public ro_NominasPagosCheques_Info get_op_x_empleados(ro_NominasPagosCheques_Info info)
        {
            try
            {
                ro_Parametros_Data data_param = new ro_Parametros_Data();
                var parametro = data_param.get_info(info.IdEmpresa);
                cp_orden_pago_Info info_orden  = new cp_orden_pago_Info();
                ro_periodo_Bus     bus_periodo = new ro_periodo_Bus();
                var periodo = bus_periodo.get_info(info.IdEmpresa, info.IdPeriodo);
                cp_orden_pago_tipo_x_empresa_Bus  bus_tipo_op  = new cp_orden_pago_tipo_x_empresa_Bus();
                cp_orden_pago_tipo_x_empresa_Info info_tipo_op = new cp_orden_pago_tipo_x_empresa_Info();
                info_tipo_op = bus_tipo_op.get_info(info.IdEmpresa, cl_enumeradores.eTipoOrdenPago.ANTI_EMPLE.ToString());
                info.detalle.ForEach(item =>

                {
                    info_orden = new cp_orden_pago_Info
                    {
                        IdEmpresa          = item.IdEmpresa,
                        Observacion        = "Cancelacion sueldo y salarios de " + item.pe_nombreCompleto,
                        IdTipo_op          = cl_enumeradores.eTipoOrdenPago.ANTI_EMPLE.ToString(),
                        IdTipo_Persona     = cl_enumeradores.eTipoPersona.EMPLEA.ToString(),
                        IdPersona          = item.IdPersona,
                        IdEntidad          = Convert.ToDecimal(item.IdEmpleado),
                        Fecha              = DateTime.Now,
                        IdEstadoAprobacion = cl_enumeradores.eEstadoAprobacionOrdenPago.APRO.ToString(),
                        IdFormaPago        = cl_enumeradores.eFormaPagoOrdenPago.CHEQUE.ToString(),
                        Estado             = "A",
                        Fecha_Transac      = DateTime.Now,
                        IdSucursal         = item.IdSucursal,
                        detalle            = new List <cp_orden_pago_det_Info>
                        {
                            new cp_orden_pago_det_Info
                            {
                                IdEmpresa          = item.IdEmpresa,
                                Secuencia          = 1,
                                Valor_a_pagar      = item.Valor,
                                Referencia         = "Periodo " + info.IdPeriodo,
                                Fecha_Pago         = periodo.pe_FechaFin,
                                IdEstadoAprobacion = info_tipo_op.IdEstadoAprobacion,
                                IdFormaPago        = cl_enumeradores.eFormaPagoOrdenPago.CHEQUE.ToString(),
                            }
                        },
                        info_comprobante = new ct_cbtecble_Info
                        {
                            IdEmpresa = info.IdEmpresa,
                            cb_Fecha  = DateTime.Now,

                            //REVISA CARLOS FALTA IDSUCURSAL

                            IdTipoCbte          = Convert.ToInt32(info_tipo_op.IdTipoCbte_OP),
                            cb_Estado           = "A",
                            IdPeriodo           = Convert.ToInt32(periodo.pe_FechaFin.Year.ToString() + periodo.pe_FechaFin.Month.ToString().PadLeft(2, '0')),
                            cb_Observacion      = "Cancelación de sueldo del " + info.IdPeriodo + " a " + item.pe_nombreCompleto,
                            lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>
                            {
                                new ct_cbtecble_det_Info
                                {
                                    IdEmpresa      = item.IdEmpresa,
                                    IdTipoCbte     = Convert.ToInt32(info_tipo_op.IdTipoCbte_OP),
                                    IdCtaCble      = item.IdCtaCble_Emplea,
                                    dc_Valor       = item.Valor,
                                    dc_Observacion = "Cancelación de sueldo del " + periodo.IdPeriodo + " a " + item.pe_nombreCompleto,
                                    secuencia      = 1,
                                },
                                new ct_cbtecble_det_Info
                                {
                                    IdEmpresa      = item.IdEmpresa,
                                    IdTipoCbte     = Convert.ToInt32(info_tipo_op.IdTipoCbte_OP),
                                    IdCtaCble      = item.IdCtaCble_x_pagar_empleado,
                                    dc_Valor       = item.Valor * -1,
                                    dc_Observacion = "Cancelación de sueldo del " + info.IdPeriodo + " a " + item.pe_nombreCompleto,
                                    secuencia      = 2,
                                }
                            }
                        }
                    };
                    item.info_orden_pago = info_orden;
                });
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }