public ro_AjusteImpuestoRentaDet_Info get_info(int IdEmpresa, int IdAjuste, int Secuencia)
        {
            try
            {
                ro_AjusteImpuestoRentaDet_Info info = new ro_AjusteImpuestoRentaDet_Info();

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

                    info = new ro_AjusteImpuestoRentaDet_Info
                    {
                        IdEmpresa  = Entity.IdEmpresa,
                        IdAjuste   = Entity.IdAjuste,
                        Secuencia  = Entity.Secuencia,
                        IdEmpleado = Entity.IdEmpleado
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public bool GuardarBD(ro_AjusteImpuestoRenta_Info info)
        {
            try
            {
                using (Entities_rrhh db = new Entities_rrhh())
                {
                    ro_AjusteImpuestoRenta entity = db.ro_AjusteImpuestoRenta.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdAjuste == info.IdAjuste).FirstOrDefault();

                    if (entity == null)
                    {
                        return(false);
                    }

                    var lst_oi = db.ro_AjusteImpuestoRentaDetOI.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdAjuste == info.IdAjuste && q.IdEmpleado == info.IdEmpleado).ToList();
                    db.ro_AjusteImpuestoRentaDetOI.RemoveRange(lst_oi);
                    decimal TotalOtrosIngresos = 0;

                    if (info.lst_det_oi.Count > 0)
                    {
                        int Secuencia = 1;

                        foreach (var item in info.lst_det_oi)
                        {
                            db.ro_AjusteImpuestoRentaDetOI.Add(new ro_AjusteImpuestoRentaDetOI
                            {
                                IdEmpresa     = info.IdEmpresa,
                                IdAjuste      = info.IdAjuste,
                                IdEmpleado    = info.IdEmpleado,
                                Secuencia     = Secuencia++,
                                DescripcionOI = item.DescripcionOI,
                                Valor         = item.Valor
                            });
                        }
                        TotalOtrosIngresos = info.lst_det_oi.Sum(q => q.Valor);
                    }

                    ro_AjusteImpuestoRentaDet entity_det = db.ro_AjusteImpuestoRentaDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdAjuste == info.IdAjuste && q.IdEmpleado == info.IdEmpleado).FirstOrDefault();
                    entity_det.OtrosIngresos = TotalOtrosIngresos;



                    db.SaveChanges();

                    db.spRo_procesa_AjusteIR(info.IdEmpresa, info.IdAnio, info.IdAjuste, info.IdEmpleado, info.IdSucursal ?? 0, info.IdUsuario, info.Fecha.Date, info.FechaCorte.Date, info.Observacion);
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }