示例#1
0
 public cp_retencion_Info get_info(int IdEmpresa_Ogiro, decimal IdCbteCble_Ogiro, int IdTipoCbte_Ogiro)
 {
     try
     {
         cp_retencion_Info info = new cp_retencion_Info();
         using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
         {
             cp_retencion Entity = Context.cp_retencion.FirstOrDefault(q => q.IdEmpresa == IdEmpresa_Ogiro & q.IdCbteCble_Ogiro == IdCbteCble_Ogiro && q.IdTipoCbte_Ogiro == IdTipoCbte_Ogiro);
             if (Entity == null)
             {
                 return(null);
             }
             info = new cp_retencion_Info
             {
                 IdEmpresa        = Entity.IdEmpresa,
                 IdRetencion      = Entity.IdRetencion,
                 CodDocumentoTipo = Entity.CodDocumentoTipo,
                 IdTipoCbte_Ogiro = Entity.IdTipoCbte_Ogiro,
                 IdCbteCble_Ogiro = Entity.IdCbteCble_Ogiro,
                 IdEmpresa_Ogiro  = Entity.IdEmpresa_Ogiro,
                 serie1           = Entity.serie1,
                 serie2           = Entity.serie2,
                 NumRetencion     = Entity.NumRetencion,
                 NAutorizacion    = Entity.NAutorizacion,
                 observacion      = Entity.observacion,
                 fecha            = Convert.ToDateTime(Entity.fecha.ToShortDateString()),
                 re_Tiene_RTiva   = Entity.re_Tiene_RTiva,
                 re_Tiene_RFuente = Entity.re_Tiene_RFuente,
             };
         }
         return(info);
     }
     catch (Exception)
     {
         throw;
     }
 }
        public Boolean guardarDB(cp_retencion_Info info)
        {
            Boolean res = true;

            try
            {
                int secuencia = 1;

                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_retencion Entity = new cp_retencion
                    {
                        IdEmpresa        = info.IdEmpresa,
                        IdEmpresa_Ogiro  = info.IdEmpresa_Ogiro,
                        IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,
                        IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                        IdRetencion      = info.IdRetencion = get_id(info.IdEmpresa),
                        CodDocumentoTipo = info.CodDocumentoTipo,
                        serie1           = info.serie1,
                        serie2           = info.serie2,
                        NumRetencion     = info.NumRetencion,
                        NAutorizacion    = info.NAutorizacion,
                        observacion      = info.observacion,
                        fecha            = Convert.ToDateTime(info.fecha.ToShortDateString()),
                        re_Tiene_RTiva   = info.re_Tiene_RTiva,
                        re_Tiene_RFuente = info.re_Tiene_RFuente,
                        re_EstaImpresa   = info.re_EstaImpresa,
                        Estado           = "A",
                        Fecha_Transac    = DateTime.Now,
                        IdUsuario        = info.IdUsuario,
                        nom_pc           = info.nom_pc,
                        ip = info.ip,
                    };
                    Context.cp_retencion.Add(Entity);

                    foreach (var item in info.detalle)
                    {
                        cp_retencion_det Entity_det = new cp_retencion_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdRetencion         = info.IdRetencion,
                            Idsecuencia         = secuencia,
                            re_tipoRet          = item.re_tipoRet,
                            re_Codigo_impuesto  = item.re_Codigo_impuesto,
                            re_baseRetencion    = (double)item.re_baseRetencion,
                            re_Porcen_retencion = (double)item.re_Porcen_retencion,
                            re_valor_retencion  = (double)item.re_valor_retencion,
                            IdCodigo_SRI        = item.IdCodigo_SRI,
                            IdUsuario           = info.IdUsuario,
                            re_estado           = "A"
                        };
                        secuencia++;
                        Context.cp_retencion_det.Add(Entity_det);
                    }

                    Context.SaveChanges();
                }

                return(res);
            }
            catch (Exception)
            {
                throw;
            }
        }