public bool modificar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info)
        {
            try
            {
                using (Entities_rrhh db = new Entities_rrhh())
                {
                    var entity = db.ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdNomina == info.IdNomina && q.IdNominaTipo == info.IdNominaTipo).FirstOrDefault();
                    if (entity != null)
                    {
                        db.ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar.Remove(entity);
                    }
                    db.ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar.Add(new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar
                    {
                        IdEmpresa    = info.IdEmpresa,
                        IdNominaTipo = info.IdNominaTipo,
                        IdNomina     = info.IdNomina,
                        IdCtaCble    = info.IdCtaCble_sueldo,
                        IdTipoFlujo  = info.IdTipoFlujo,
                        Observacion  = info.Observacion
                    });
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        public void NewRow_cta_sueldo_x_pagar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info> list = get_list_sueldo_x_pagar();

            info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1;
            list.Add(info_det);
        }
        public ActionResult EditingNew_cta_sueldo([ModelBinder(typeof(DevExpressEditorsBinder))] ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);

            var nom      = bus_nomina.get_info(IdEmpresa, info_det.IdNomina);
            var nom_tipo = bus_nomina_tipo.get_info(IdEmpresa, info_det.IdNomina, info_det.IdNominaTipo);

            if (info_det != null)
            {
                if (nom != null && nom_tipo != null)
                {
                    info_det.IdNomina                 = info_det.IdNomina;
                    info_det.Descripcion              = nom.Descripcion;
                    info_det.IdNominaTipo             = info_det.IdNominaTipo;
                    info_det.DescripcionProcesoNomina = nom_tipo.DescripcionProcesoNomina;
                }
            }

            if (ModelState.IsValid)
            {
                lst_cta_rubro.NewRow_cta_sueldo_x_pagar(info_det);
            }
            ro_Parametros_Info model = new ro_Parametros_Info();

            model.lst_cta_x_sueldo_pagar = lst_cta_rubro.get_list_sueldo_x_pagar();
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_cta_contable_sueldo_pagar", model));
        }
Пример #4
0
        public ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info get_info(int IdEmpresa, int IdNomina, int IdNominaTipo)
        {
            try
            {
                ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info = new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info();

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

                    info = new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info
                    {
                        IdEmpresa    = Entity.IdEmpresa,
                        IdNomina     = Entity.IdNomina,
                        IdNominaTipo = Entity.IdNominaTipo,
                        IdTipoFlujo  = Entity.IdTipoFlujo,
                        Observacion  = Entity.Observacion,
                        IdCtaCble    = Entity.IdCtaCble
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult EditingUpdate_cta_sueldo([ModelBinder(typeof(DevExpressEditorsBinder))] ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);

            if (info_det != null)
            {
                var nom = bus_nomina.get_info(IdEmpresa, info_det.IdNomina);

                info_det.IdNominaTipo = string.IsNullOrEmpty(info_det.IdString) ? 0 : Convert.ToInt32(info_det.IdString.Substring(3, 3));

                var nom_tipo = bus_nomina_tipo.get_info(IdEmpresa, info_det.IdNomina, info_det.IdNominaTipo);

                if (nom != null && nom_tipo != null)
                {
                    info_det.IdNomina                 = info_det.IdNomina;
                    info_det.Descripcion              = nom.Descripcion;
                    info_det.IdNominaTipo             = info_det.IdNominaTipo;
                    info_det.DescripcionProcesoNomina = nom_tipo.DescripcionProcesoNomina;
                }
            }
            if (ModelState.IsValid)
            {
                lst_cta_rubro.UpdateRow_cta_sueldo_x_pagar(info_det);
                info_det.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
                bus_configuracion_cta_x_sueldo.modificar(lst_cta_rubro.get_list_sueldo_x_pagar().Where(q => q.Secuencia == info_det.Secuencia).First());
            }
            ro_Parametros_Info model = new ro_Parametros_Info();

            model.lst_cta_x_sueldo_pagar = lst_cta_rubro.get_list_sueldo_x_pagar();
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_cta_contable_sueldo_pagar", model));
        }
        public List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info> Get_List(int IdEmpresa)
        {
            List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info> lista = new List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info>();

            try
            {
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    var _sel = from q in context.ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar
                               where q.IdEmpresa == IdEmpresa
                               select q;

                    foreach (var item in _sel)
                    {
                        ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info = new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info();
                        info.IdEmpresa    = item.IdEmpresa;
                        info.IdNomina     = item.IdNomina;
                        info.IdNominaTipo = item.IdNominaTipo;
                        info.IdCtaCble    = item.IdCtaCble;
                        info.IdTipoFlujo  = item.IdTipoFlujo;
                        lista.Add(info);
                    }
                    return(lista);
                }
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                mensaje = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                throw new Exception(ex.InnerException.ToString());
            }
        }
Пример #7
0
        public void UpdateRow_cta_sueldo_x_pagar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info edited_info = get_list_sueldo_x_pagar().Where(m => m.Secuencia == info_det.Secuencia).First();

            edited_info.IdCtaCble    = info_det.IdCtaCble;
            edited_info.IdNomina     = info_det.IdNomina;
            edited_info.IdNominaTipo = info_det.IdNominaTipo;
        }
 public bool modificar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info)
 {
     try
     {
         return(odata.modificar(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #9
0
        private List <ct_cbtecble_det_Info> get_diario_ctble_provisiones(int idEmpresa, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo)
        {
            try
            {
                int secuencia = 0;
                List <ct_cbtecble_det_Info> lst_detalle_diario       = new List <ct_cbtecble_det_Info>();
                List <ro_rol_detalle_Info>  oListro_rol_detalle_Info = new List <ro_rol_detalle_Info>();
                lst_confn_param_contables = bus_parametros_contables.get_list(idEmpresa, "1");
                info_cta_sueldo_x_pagar   = bus_cta_sueldo_x_pagar.get_info(idEmpresa, idNominaTipo, idNominaTipoLiqui);
                oListro_rol_detalle_Info  = bus_detalle.Get_lst_detalle_contabilizar(idEmpresa, idNominaTipo, idNominaTipoLiqui, idPeriodo, true);

                foreach (ro_Config_Param_contable_Info item in lst_confn_param_contables)
                {
                    double valorTotal = 0;
                    valorTotal = oListro_rol_detalle_Info.Where(v => /*v.IdDivision == Convert.ToInt32(item.IdDivision)*/
                                                                     //&& v.IdArea == item.IdArea
                                                                     //&& v.IdDepartamento == item.IdDepartamento
                                                                v.IdRubro == item.IdRubro).Sum(v => v.Valor);
                    if (valorTotal > 0)
                    {
                        valorTotal = Math.Round(valorTotal);
                        secuencia++;
                        ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                        oct_cbtecble_det_Info.secuencia      = secuencia;
                        oct_cbtecble_det_Info.IdEmpresa      = idEmpresa;
                        oct_cbtecble_det_Info.IdTipoCbte     = 1;
                        oct_cbtecble_det_Info.IdCtaCble      = item.IdCtaCble;
                        oct_cbtecble_det_Info.dc_Valor_debe  = valorTotal;
                        oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                        oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion;
                        lst_detalle_diario.Add(oct_cbtecble_det_Info);

                        secuencia++;
                        ct_cbtecble_det_Info oct_cbtecble_det_Info2 = new ct_cbtecble_det_Info();
                        oct_cbtecble_det_Info2.secuencia      = secuencia;
                        oct_cbtecble_det_Info2.IdEmpresa      = idEmpresa;
                        oct_cbtecble_det_Info2.IdTipoCbte     = 1;
                        oct_cbtecble_det_Info2.IdCtaCble      = item.IdCtaCble_Haber;
                        oct_cbtecble_det_Info2.dc_Valor       = valorTotal * -1;
                        oct_cbtecble_det_Info2.dc_Valor_haber = valorTotal;

                        oct_cbtecble_det_Info2.dc_Observacion = item.ru_descripcion;
                        lst_detalle_diario.Add(oct_cbtecble_det_Info2);
                    }
                }


                return(lst_detalle_diario);
            }
            catch (Exception e)
            {
                throw;
            }
        }
Пример #10
0
        public ActionResult EditingDelete_cta_sueldo([ModelBinder(typeof(DevExpressEditorsBinder))] ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            if (ModelState.IsValid)
            {
                lst_cta_rubro.DeleteRow_cta_sueldo_x_pagar(info_det);
            }
            ro_Parametros_Info model = new ro_Parametros_Info();

            model.lst_cta_x_sueldo_pagar = lst_cta_rubro.get_list_sueldo_x_pagar();
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_cta_contable_sueldo_pagar", model));
        }
        public void UpdateRow_cta_sueldo_x_pagar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            ct_plancta_Bus bus_plancta = new ct_plancta_Bus();
            var            cta         = bus_plancta.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdCtaCble_sueldo);
            ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info edited_info = get_list_sueldo_x_pagar().Where(m => m.Secuencia == info_det.Secuencia).First();

            if (cta != null)
            {
                info_det.pc_Cuenta = cta.IdCtaCble + " - " + cta.pc_Cuenta;
            }
            edited_info.IdCtaCble_sueldo = info_det.IdCtaCble_sueldo;
            edited_info.IdNomina         = info_det.IdNomina;
            edited_info.IdNominaTipo     = info_det.IdNominaTipo;
            edited_info.pc_Cuenta        = info_det.pc_Cuenta;
        }
        public void NewRow_cta_sueldo_x_pagar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info> list = get_list_sueldo_x_pagar();

            info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1;

            ct_plancta_Bus bus_plancta = new ct_plancta_Bus();
            var            cta         = bus_plancta.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdCtaCble_sueldo);

            if (cta != null)
            {
                info_det.pc_Cuenta = cta.IdCtaCble + " - " + cta.pc_Cuenta;
            }



            list.Add(info_det);
        }
Пример #13
0
        private void gridView_Sueldo_x_Pagar_FocusedColumnChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedColumnChangedEventArgs e)
        {
            try
            {
                ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info inf = new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info();
                inf = (ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info)gridView_Sueldo_x_Pagar.GetFocusedRow();

                if (inf != null)
                {
                    lista_nomina_tipo_liq      = nominatipo_Bus.Get_List_Nomina_Tipoliqui(param.IdEmpresa, inf.IdNomina);
                    cmb_nomina_tipo.DataSource = lista_nomina_tipo_liq;
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public ActionResult EditingDelete_cta_sueldo([ModelBinder(typeof(DevExpressEditorsBinder))] ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            if (ModelState.IsValid)
            {
                var det = lst_cta_rubro.get_list_sueldo_x_pagar().Where(q => q.Secuencia == info_det.Secuencia).FirstOrDefault();
                if (det != null)
                {
                    det.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
                    if (bus_configuracion_cta_x_sueldo.eliminarDB(det.IdEmpresa, det.IdNomina, det.IdNominaTipo))
                    {
                        lst_cta_rubro.DeleteRow_cta_sueldo_x_pagar(info_det);
                    }
                }
            }
            ro_Parametros_Info model = new ro_Parametros_Info();

            model.lst_cta_x_sueldo_pagar = lst_cta_rubro.get_list_sueldo_x_pagar();
            lst_cta_rubro.set_list_sueldo_x_pagar(model.lst_cta_x_sueldo_pagar);
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_cta_contable_sueldo_pagar", model));
        }
Пример #15
0
        private List <ct_cbtecble_det_Info> get_diario_ctble_sueldo_x_pagar(int idEmpresa, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, int IdRol)
        {
            try
            {
                List <ct_cbtecble_det_Info> lst_detalle_diario       = new List <ct_cbtecble_det_Info>();
                List <ro_rol_detalle_Info>  oListro_rol_detalle_Info = new List <ro_rol_detalle_Info>();
                lst_confn_param_contables = bus_parametros_contables.get_list(idEmpresa, "0");
                double ingreso  = 0;
                double egreso   = 0;
                int    secuecia = 0;
                info_cta_sueldo_x_pagar  = bus_cta_sueldo_x_pagar.get_info(idEmpresa, idNominaTipo, idNominaTipoLiqui);
                oListro_rol_detalle_Info = bus_detalle.Get_lst_detalle_contabilizar(idEmpresa, idNominaTipo, idNominaTipoLiqui, idPeriodo, IdRol, false);


                #region Rubros que no se contabilizan por empleados
                foreach (ro_Config_Param_contable_Info item in lst_confn_param_contables.Where(v => v.rub_ContPorEmpleado == false))
                {
                    double valorTotal = 0;
                    valorTotal = oListro_rol_detalle_Info.Where(v => v.IdDivision == Convert.ToInt32(item.IdDivision) &&
                                                                v.IdArea == item.IdArea &&
                                                                v.IdDepartamento == item.IdDepartamento && v.IdRubro == item.IdRubro).Sum(v => v.Valor);
                    if (valorTotal < 0)
                    {
                        valorTotal = valorTotal * -1;
                    }
                    if (valorTotal > 0)
                    {
                        valorTotal = Math.Round(valorTotal, 2);
                        secuecia++;
                        ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                        oct_cbtecble_det_Info.secuencia = secuecia;
                        oct_cbtecble_det_Info.IdEmpresa = idEmpresa;
                        oct_cbtecble_det_Info.IdCtaCble = item.IdCtaCble;
                        if (item.ru_tipo == "E")
                        {
                            egreso = egreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_haber = valorTotal;
                            valorTotal = valorTotal * -1;
                        }
                        else
                        {
                            ingreso = ingreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_debe = valorTotal;
                        }
                        oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                        oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion + "/ " + item.DescripcionArea + "/ " + item.de_descripcion;
                        lst_detalle_diario.Add(oct_cbtecble_det_Info);
                    }
                }

                #endregion

                #region Rubros que se contabilizan por empleados
                foreach (ro_rol_detalle_Info item in oListro_rol_detalle_Info.Where(v => v.rub_ContPorEmpleado == true))
                {
                    double valorTotal = 0;
                    valorTotal = oListro_rol_detalle_Info.Where(v => v.IdDivision == Convert.ToInt32(item.IdDivision) &&
                                                                v.IdArea == item.IdArea &&
                                                                v.IdDepartamento == item.IdDepartamento && v.IdRubro == item.IdRubro).Sum(v => v.Valor);
                    valorTotal = item.Valor;
                    if (valorTotal < 0)
                    {
                        valorTotal = valorTotal * -1;
                    }
                    if (valorTotal > 0)
                    {
                        valorTotal = Math.Round(valorTotal, 2);
                        secuecia++;
                        ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                        oct_cbtecble_det_Info.secuencia = secuecia;
                        oct_cbtecble_det_Info.IdEmpresa = idEmpresa;
                        oct_cbtecble_det_Info.IdCtaCble = item.IdCtaCble_Emplea;
                        if (item.ru_tipo == "E")
                        {
                            egreso = egreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_haber = valorTotal;
                            valorTotal = valorTotal * -1;
                        }
                        else
                        {
                            ingreso = ingreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_debe = valorTotal;
                        }
                        oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                        oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion + "/ " + item.pe_nombreCompleato;
                        lst_detalle_diario.Add(oct_cbtecble_det_Info);
                    }
                }

                #endregion


                if (info_cta_sueldo_x_pagar == null)
                {
                    info_cta_sueldo_x_pagar = new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info();
                }
                double valorSueldoXPagar = 0;
                valorSueldoXPagar = ingreso - egreso;
                secuecia++;
                ct_cbtecble_det_Info oct_cbtecble_det_Info2 = new ct_cbtecble_det_Info();
                oct_cbtecble_det_Info2.secuencia      = secuecia;
                oct_cbtecble_det_Info2.IdEmpresa      = idEmpresa;
                oct_cbtecble_det_Info2.IdCtaCble      = (info_cta_sueldo_x_pagar.IdCtaCble) == null?"": info_cta_sueldo_x_pagar.IdCtaCble;
                oct_cbtecble_det_Info2.dc_Valor       = valorSueldoXPagar * -1;
                oct_cbtecble_det_Info2.dc_Valor_haber = valorSueldoXPagar;
                oct_cbtecble_det_Info2.dc_Observacion = "Sueldo por Pagar Neto a Recibir al " + idPeriodo;
                lst_detalle_diario.Add(oct_cbtecble_det_Info2);

                return(lst_detalle_diario);
            }
            catch (Exception E)
            {
                throw;
            }
        }
Пример #16
0
        private List <ct_cbtecble_det_Info> get_diario_ctble_sueldo_x_pagar(int idEmpresa, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, int IdRol)
        {
            try
            {
                List <ct_cbtecble_det_Info> lst_detalle_diario       = new List <ct_cbtecble_det_Info>();
                List <ro_rol_detalle_Info>  oListro_rol_detalle_Info = new List <ro_rol_detalle_Info>();
                lst_confn_param_contables = bus_parametros_contables.get_list(idEmpresa, "0");
                double ingreso  = 0;
                double egreso   = 0;
                int    secuecia = 0;
                info_cta_sueldo_x_pagar  = bus_cta_sueldo_x_pagar.get_info(idEmpresa, idNominaTipo, idNominaTipoLiqui);
                oListro_rol_detalle_Info = bus_detalle.Get_lst_detalle_contabilizar(idEmpresa, idNominaTipo, idNominaTipoLiqui, idPeriodo, IdRol, false);

                var lstSucursal = oListro_rol_detalle_Info.GroupBy(q => new { q.IdSucursal, q.Su_Descripcion }).Select(q => new { IdSucursal = q.Key.IdSucursal, Su_Descripcion = q.Key.Su_Descripcion });

                #region Rubros que no se contabilizan por empleados
                foreach (ro_Config_Param_contable_Info item in lst_confn_param_contables.Where(v => v.rub_ContPorEmpleado == false))
                {
                    foreach (var Suc in lstSucursal)
                    {
                        double valorTotal = 0;
                        valorTotal = oListro_rol_detalle_Info.Where(v => v.IdDivision == Convert.ToInt32(item.IdDivision) &&
                                                                    v.IdArea == item.IdArea &&
                                                                    v.IdDepartamento == item.IdDepartamento && v.IdRubro == item.IdRubro && Suc.IdSucursal == v.IdSucursal).Sum(v => v.Valor);
                        if (valorTotal < 0)
                        {
                            valorTotal = valorTotal * -1;
                        }
                        if (valorTotal > 0)
                        {
                            valorTotal = Math.Round(valorTotal, 2);
                            secuecia++;
                            ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                            oct_cbtecble_det_Info.secuencia = secuecia;
                            oct_cbtecble_det_Info.IdEmpresa = idEmpresa;
                            oct_cbtecble_det_Info.IdCtaCble = item.IdCtaCble_Haber;
                            oct_cbtecble_det_Info.pc_Cuenta = item.pc_Cuenta;

                            if (item.ru_tipo == "E")
                            {
                                egreso = egreso + valorTotal;
                                oct_cbtecble_det_Info.dc_Valor_haber = valorTotal;
                                valorTotal = valorTotal * -1;
                            }
                            else
                            {
                                ingreso = ingreso + valorTotal;
                                oct_cbtecble_det_Info.dc_Valor_debe = valorTotal;
                            }
                            oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                            oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion + "/ " + item.DescripcionArea + "/ " + item.de_descripcion;
                            //Agrego sucursal para contabilización multiple
                            oct_cbtecble_det_Info.IdSucursal     = Suc.IdSucursal;
                            oct_cbtecble_det_Info.Su_Descripcion = Suc.Su_Descripcion;
                            lst_detalle_diario.Add(oct_cbtecble_det_Info);
                        }
                    }
                }
                #endregion

                #region Rubros que se contabilizan por empleados
                foreach (ro_rol_detalle_Info item in oListro_rol_detalle_Info.Where(v => v.rub_ContPorEmpleado == true))
                {
                    double valorTotal = 0;
                    valorTotal = oListro_rol_detalle_Info.Where(v => v.IdDivision == Convert.ToInt32(item.IdDivision) &&
                                                                v.IdArea == item.IdArea &&
                                                                v.IdDepartamento == item.IdDepartamento && v.IdRubro == item.IdRubro).Sum(v => v.Valor);
                    valorTotal = item.Valor;
                    if (valorTotal < 0)
                    {
                        valorTotal = valorTotal * -1;
                    }
                    if (valorTotal > 0)
                    {
                        valorTotal = Math.Round(valorTotal, 2);
                        secuecia++;
                        ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                        oct_cbtecble_det_Info.secuencia = secuecia;
                        oct_cbtecble_det_Info.IdEmpresa = idEmpresa;
                        oct_cbtecble_det_Info.IdCtaCble = item.IdCtaCble_Emplea;
                        oct_cbtecble_det_Info.pc_Cuenta = item.pc_CuentaEmple;
                        if (item.ru_tipo == "E")
                        {
                            egreso = egreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_haber = valorTotal;
                            valorTotal = valorTotal * -1;
                        }
                        else
                        {
                            ingreso = ingreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_debe = valorTotal;
                        }
                        oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                        oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion + "/ " + item.pe_nombreCompleato;
                        //Agrego sucursal para contabilización multiple
                        oct_cbtecble_det_Info.IdSucursal     = item.IdSucursal;
                        oct_cbtecble_det_Info.Su_Descripcion = item.Su_Descripcion;
                        lst_detalle_diario.Add(oct_cbtecble_det_Info);
                    }
                }

                #endregion


                if (info_cta_sueldo_x_pagar == null)
                {
                    info_cta_sueldo_x_pagar = new ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info();
                }
                double valorSueldoXPagar = 0;
                valorSueldoXPagar = ingreso - egreso;
                secuecia++;

                foreach (var item in lstSucursal)
                {
                    ct_cbtecble_det_Info oct_cbtecble_det_Info2 = new ct_cbtecble_det_Info();
                    oct_cbtecble_det_Info2.secuencia      = secuecia;
                    oct_cbtecble_det_Info2.IdEmpresa      = idEmpresa;
                    oct_cbtecble_det_Info2.IdCtaCble      = (info_cta_sueldo_x_pagar.IdCtaCble) == null ? "" : info_cta_sueldo_x_pagar.IdCtaCble;
                    oct_cbtecble_det_Info2.pc_Cuenta      = info_cta_sueldo_x_pagar.pc_Cuenta;
                    oct_cbtecble_det_Info2.dc_Valor       = Math.Round(lst_detalle_diario.Where(q => q.IdSucursal == item.IdSucursal).Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) * -1;// valorSueldoXPagar * -1;
                    oct_cbtecble_det_Info2.dc_Valor_haber = Math.Abs(oct_cbtecble_det_Info2.dc_Valor);
                    oct_cbtecble_det_Info2.dc_Observacion = "Sueldo por Pagar Neto a Recibir al " + idPeriodo;
                    oct_cbtecble_det_Info2.IdSucursal     = item.IdSucursal;
                    oct_cbtecble_det_Info2.Su_Descripcion = item.Su_Descripcion;
                    lst_detalle_diario.Add(oct_cbtecble_det_Info2);
                }
                lst_detalle_diario.ForEach(q => {
                    q.dc_Valor       = Math.Round(q.dc_Valor, 2, MidpointRounding.AwayFromZero);
                    q.dc_Valor_debe  = Math.Round(q.dc_Valor_debe, 2, MidpointRounding.AwayFromZero);
                    q.dc_Valor_haber = Math.Round(q.dc_Valor_haber, 2, MidpointRounding.AwayFromZero);
                });
                return(lst_detalle_diario);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #17
0
        private List <ct_cbtecble_det_Info> get_diario_ctble_sueldo_x_pagar(int idEmpresa, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo)
        {
            try
            {
                List <ct_cbtecble_det_Info> lst_detalle_diario       = new List <ct_cbtecble_det_Info>();
                List <ro_rol_detalle_Info>  oListro_rol_detalle_Info = new List <ro_rol_detalle_Info>();
                lst_confn_param_contables = bus_parametros_contables.get_list(idEmpresa, "0");
                double ingreso  = 0;
                double egreso   = 0;
                int    secuecia = 0;
                info_cta_sueldo_x_pagar  = bus_cta_sueldo_x_pagar.get_info(idEmpresa, idNominaTipo, idNominaTipoLiqui);
                oListro_rol_detalle_Info = bus_detalle.Get_lst_detalle_contabilizar(idEmpresa, idNominaTipo, idNominaTipoLiqui, idPeriodo, false);

                foreach (ro_Config_Param_contable_Info item in lst_confn_param_contables)
                {
                    double valorTotal = 0;
                    valorTotal = oListro_rol_detalle_Info.Where(v => /*v.IdDivision == Convert.ToInt32(item.IdDivision)*/
                                                                     //&& v.IdArea == item.IdArea
                                                                     //&& v.IdDepartamento == item.IdDepartamento
                                                                v.IdRubro == item.IdRubro).Sum(v => v.Valor);
                    if (valorTotal < 0)
                    {
                        valorTotal = valorTotal * -1;
                    }
                    if (valorTotal > 0)
                    {
                        valorTotal = Math.Round(valorTotal, 2);
                        secuecia++;
                        ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                        oct_cbtecble_det_Info.secuencia     = secuecia;
                        oct_cbtecble_det_Info.IdEmpresa     = idEmpresa;
                        oct_cbtecble_det_Info.IdCtaCble     = item.IdCtaCble;
                        oct_cbtecble_det_Info.IdCentroCosto = item.IdCentroCosto;
                        if (item.ru_tipo == "E")
                        {
                            egreso = egreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_haber = valorTotal;
                            valorTotal = valorTotal * -1;
                        }
                        else
                        {
                            ingreso = ingreso + valorTotal;
                            oct_cbtecble_det_Info.dc_Valor_debe = valorTotal;
                        }
                        oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                        oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion;
                        lst_detalle_diario.Add(oct_cbtecble_det_Info);
                    }
                }

                double valorSueldoXPagar = 0;
                valorSueldoXPagar = ingreso - egreso;
                secuecia++;
                ct_cbtecble_det_Info oct_cbtecble_det_Info2 = new ct_cbtecble_det_Info();
                oct_cbtecble_det_Info2.secuencia      = secuecia;
                oct_cbtecble_det_Info2.IdEmpresa      = idEmpresa;
                oct_cbtecble_det_Info2.IdCtaCble      = info_cta_sueldo_x_pagar.IdCtaCble;
                oct_cbtecble_det_Info2.dc_Valor       = valorSueldoXPagar * -1;
                oct_cbtecble_det_Info2.dc_Valor_haber = valorSueldoXPagar;
                oct_cbtecble_det_Info2.dc_Observacion = "Sueldo por Pagar Neto a Recibir al " + idPeriodo;
                lst_detalle_diario.Add(oct_cbtecble_det_Info2);

                return(lst_detalle_diario);
            }
            catch (Exception e)
            {
                throw;
            }
        }
Пример #18
0
        private List <ct_cbtecble_det_Info> get_diario_ctble_provisiones(int idEmpresa, int idNominaTipo, int idNominaTipoLiqui, int idPeriodo, int IdRol)
        {
            try
            {
                int secuencia = 0;
                List <ct_cbtecble_det_Info> lst_detalle_diario       = new List <ct_cbtecble_det_Info>();
                List <ro_rol_detalle_Info>  oListro_rol_detalle_Info = new List <ro_rol_detalle_Info>();
                lst_confn_param_contables = bus_parametros_contables.get_list(idEmpresa, "1");
                info_cta_sueldo_x_pagar   = bus_cta_sueldo_x_pagar.get_info(idEmpresa, idNominaTipo, idNominaTipoLiqui);
                oListro_rol_detalle_Info  = bus_detalle.Get_lst_detalle_contabilizar(idEmpresa, idNominaTipo, idNominaTipoLiqui, idPeriodo, IdRol, true);

                var lstSucursal = oListro_rol_detalle_Info.GroupBy(q => new { q.IdSucursal, q.Su_Descripcion }).Select(q => new { IdSucursal = q.Key.IdSucursal, Su_Descripcion = q.Key.Su_Descripcion }).ToList();

                foreach (var item in lst_confn_param_contables)
                {
                    foreach (var suc in lstSucursal)
                    {
                        double valorTotal = 0;
                        valorTotal = oListro_rol_detalle_Info.Where(v => v.IdDivision == Convert.ToInt32(item.IdDivision) &&
                                                                    v.IdArea == item.IdArea &&
                                                                    v.IdDepartamento == item.IdDepartamento &&
                                                                    v.IdRubro == item.IdRubro &&
                                                                    v.IdSucursal == suc.IdSucursal).Sum(v => v.Valor);
                        if (valorTotal > 0)
                        {
                            secuencia++;
                            ct_cbtecble_det_Info oct_cbtecble_det_Info = new ct_cbtecble_det_Info();
                            oct_cbtecble_det_Info.secuencia      = secuencia;
                            oct_cbtecble_det_Info.IdEmpresa      = idEmpresa;
                            oct_cbtecble_det_Info.IdTipoCbte     = 1;
                            oct_cbtecble_det_Info.IdCtaCble      = (item.IdCtaCble);
                            oct_cbtecble_det_Info.dc_Valor_debe  = valorTotal;
                            oct_cbtecble_det_Info.dc_Valor       = valorTotal;
                            oct_cbtecble_det_Info.dc_Observacion = item.ru_descripcion + "/ " + item.DescripcionArea + "/ " + item.de_descripcion;
                            oct_cbtecble_det_Info.pc_Cuenta      = item.pc_Cuenta_prov_debito;
                            //Agrego sucursal para contabilización multiple
                            oct_cbtecble_det_Info.IdSucursal     = suc.IdSucursal;
                            oct_cbtecble_det_Info.Su_Descripcion = suc.Su_Descripcion;
                            lst_detalle_diario.Add(oct_cbtecble_det_Info);

                            secuencia++;
                            ct_cbtecble_det_Info oct_cbtecble_det_Info2 = new ct_cbtecble_det_Info();
                            oct_cbtecble_det_Info2.secuencia  = secuencia;
                            oct_cbtecble_det_Info2.IdEmpresa  = idEmpresa;
                            oct_cbtecble_det_Info2.IdTipoCbte = 1;
                            oct_cbtecble_det_Info2.IdCtaCble  = (item.IdCtaCble_Haber);

                            oct_cbtecble_det_Info2.dc_Valor       = valorTotal * -1;
                            oct_cbtecble_det_Info2.dc_Valor_haber = valorTotal;

                            oct_cbtecble_det_Info2.dc_Observacion = item.ru_descripcion + "/ " + item.DescripcionArea + "/ " + item.de_descripcion;
                            oct_cbtecble_det_Info2.pc_Cuenta      = item.pc_Cuenta_prov_credito;
                            //Agrego sucursal para contabilización multiple
                            oct_cbtecble_det_Info2.IdSucursal     = suc.IdSucursal;
                            oct_cbtecble_det_Info2.Su_Descripcion = suc.Su_Descripcion;
                            lst_detalle_diario.Add(oct_cbtecble_det_Info2);
                        }
                    }
                }
                lst_detalle_diario.ForEach(q => {
                    q.dc_Valor       = Math.Round(q.dc_Valor, 2, MidpointRounding.AwayFromZero);
                    q.dc_Valor_debe  = Math.Round(q.dc_Valor_debe, 2, MidpointRounding.AwayFromZero);
                    q.dc_Valor_haber = Math.Round(q.dc_Valor_haber, 2, MidpointRounding.AwayFromZero);
                });
                return(lst_detalle_diario);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #19
0
        public void DeleteRow_cta_sueldo_x_pagar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det)
        {
            List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info> list = get_list_sueldo_x_pagar();

            list.Remove(list.Where(m => m.Secuencia == info_det.Secuencia).First());
        }
        public void DeleteRow_cta_sueldo_x_pagar(ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info info_det, decimal IdTransaccionSession)
        {
            List <ro_parametro_contable_x_Nomina_Tipoliqui_Sueldo_x_Pagar_Info> list = get_list_sueldo_x_pagar(IdTransaccionSession);

            list.Remove(list.Where(m => m.Secuencia == info_det.Secuencia).FirstOrDefault());
        }