public List <ConceptoProductoBancoDTO> SelectByProductoAndBancoAndTipoComision(int IdProducto, string IdBanco, string TipoComision, int Periodo)
        {
            IQueryable <ConceptoProductoBancoDTO> ConceptosProductosBancos = null;
            ProductoDAO oProductoDAO = new ProductoDAO();
            Producto    oProducto    = oProductoDAO.Select(IdProducto);

            if (oProducto.Nombre.Substring(0, 3) == "1.5" || oProducto.Nombre.Substring(0, 3) == "4.1")
            {
                ConceptosProductosBancos = from i in Context.ConceptoProductoBanco
                                           where i.IdBanco == IdBanco && i.IdProducto == IdProducto && i.TipoComision == TipoComision
                                           select new ConceptoProductoBancoDTO
                {
                    IdConcepto    = i.IdConcepto,
                    IdProducto    = i.IdProducto,
                    IdBanco       = i.IdBanco,
                    TipoComision  = i.TipoComision,
                    Tasa30        = i.METasaMax,
                    Tasa60        = i.Tasa60,
                    Tasa90        = i.Tasa90,
                    Minimo        = i.MEMin,
                    Maximo        = i.MEMax,
                    METasaMax     = i.METasaMax,
                    METasaMin     = i.METasaMin,
                    MEMin         = i.MEMin,
                    MEMax         = i.MEMax,
                    Observaciones = i.Observaciones,
                    Concepto      = i.Concepto,
                    ProductoBanco = i.ProductoBanco,
                    Parametro     = i.Parametro
                };
                return(ConceptosProductosBancos.ToList());
            }
            switch (Periodo)
            {
            case 30:
                ConceptosProductosBancos = from i in Context.ConceptoProductoBanco
                                           where i.IdBanco == IdBanco && i.IdProducto == IdProducto && i.TipoComision == TipoComision
                                           select new ConceptoProductoBancoDTO
                {
                    IdConcepto    = i.IdConcepto,
                    IdProducto    = i.IdProducto,
                    IdBanco       = i.IdBanco,
                    TipoComision  = i.TipoComision,
                    Tasa30        = i.Tasa30,
                    Tasa60        = i.Tasa60,
                    Tasa90        = i.Tasa90,
                    Minimo        = i.Minimo,
                    Maximo        = i.Maximo,
                    METasaMax     = i.METasaMax,
                    METasaMin     = i.METasaMin,
                    MEMin         = i.MEMin,
                    MEMax         = i.MEMax,
                    Observaciones = i.Observaciones,
                    Concepto      = i.Concepto,
                    ProductoBanco = i.ProductoBanco,
                    Parametro     = i.Parametro
                };
                break;

            case 60:
                ConceptosProductosBancos = from i in Context.ConceptoProductoBanco
                                           where i.IdBanco == IdBanco && i.IdProducto == IdProducto && i.TipoComision == TipoComision
                                           select new ConceptoProductoBancoDTO
                {
                    IdConcepto    = i.IdConcepto,
                    IdProducto    = i.IdProducto,
                    IdBanco       = i.IdBanco,
                    TipoComision  = i.TipoComision,
                    Tasa30        = i.Tasa60,
                    Tasa60        = i.Tasa60,
                    Tasa90        = i.Tasa90,
                    Minimo        = i.Minimo,
                    Maximo        = i.Maximo,
                    METasaMax     = i.METasaMax,
                    METasaMin     = i.METasaMin,
                    MEMin         = i.MEMin,
                    MEMax         = i.MEMax,
                    Observaciones = i.Observaciones,
                    Concepto      = i.Concepto,
                    ProductoBanco = i.ProductoBanco,
                    Parametro     = i.Parametro
                };
                break;

            case 90:
                ConceptosProductosBancos = from i in Context.ConceptoProductoBanco
                                           where i.IdBanco == IdBanco && i.IdProducto == IdProducto && i.TipoComision == TipoComision
                                           select new ConceptoProductoBancoDTO
                {
                    IdConcepto    = i.IdConcepto,
                    IdProducto    = i.IdProducto,
                    IdBanco       = i.IdBanco,
                    TipoComision  = i.TipoComision,
                    Tasa30        = i.Tasa90,
                    Tasa60        = i.Tasa60,
                    Tasa90        = i.Tasa90,
                    Minimo        = i.Minimo,
                    Maximo        = i.Maximo,
                    METasaMax     = i.METasaMax,
                    METasaMin     = i.METasaMin,
                    MEMin         = i.MEMin,
                    MEMax         = i.MEMax,
                    Observaciones = i.Observaciones,
                    Concepto      = i.Concepto,
                    ProductoBanco = i.ProductoBanco,
                    Parametro     = i.Parametro
                };
                break;

            default:
                ConceptosProductosBancos = from i in Context.ConceptoProductoBanco
                                           where i.IdBanco == IdBanco && i.IdProducto == IdProducto && i.TipoComision == TipoComision
                                           select new ConceptoProductoBancoDTO
                {
                    IdConcepto    = i.IdConcepto,
                    IdProducto    = i.IdProducto,
                    IdBanco       = i.IdBanco,
                    TipoComision  = i.TipoComision,
                    Tasa30        = i.Tasa30,
                    Tasa60        = i.Tasa60,
                    Tasa90        = i.Tasa90,
                    Minimo        = i.Minimo,
                    Maximo        = i.Maximo,
                    METasaMax     = i.METasaMax,
                    METasaMin     = i.METasaMin,
                    MEMin         = i.MEMin,
                    MEMax         = i.MEMax,
                    Observaciones = i.Observaciones,
                    Concepto      = i.Concepto,
                    ProductoBanco = i.ProductoBanco,
                    Parametro     = i.Parametro
                };
                break;
            }

            return(ConceptosProductosBancos.ToList());
        }
Exemplo n.º 2
0
        public bool InsertExcel(IEnumerable <Banco> Bancos, IEnumerable <Producto> Productos, IEnumerable <Concepto> Conceptos, IEnumerable <ProductoBanco> ProductosBancos, IEnumerable <ConceptoProductoBanco> ConceptosProductosBancos)
        {
            BancoDAO                 oBancoDAO                 = new BancoDAO();
            ProductoDAO              oProductoDAO              = new ProductoDAO();
            ConceptoDAO              oConceptoDAO              = new ConceptoDAO();
            ProductoBancoDAO         oProductoBancoDAO         = new ProductoBancoDAO();
            ConceptoProductoBancoDAO oConceptoProductoBancoDAO = new ConceptoProductoBancoDAO();
            ParametroDAO             oParametroDAO             = new ParametroDAO();

            using (var Transaction = Context.Database.BeginTransaction(IsolationLevel.Snapshot))
            {
                try
                {
                    oConceptoProductoBancoDAO.DeleteAll();
                    oProductoBancoDAO.DeleteAll();
                    oConceptoDAO.DeleteAll();
                    oProductoDAO.DeleteAll();
                    oBancoDAO.DeleteAll();

                    foreach (Banco i in Bancos)
                    {
                        i.Estado = "0101";
                        Context.Banco.Add(i);
                        Context.SaveChanges();
                    }

                    foreach (Producto i in Productos)
                    {
                        i.Estado = "0301";
                        Context.Producto.Add(i);
                        Context.SaveChanges();
                    }

                    foreach (Concepto i in Conceptos)
                    {
                        i.Estado = "0301";
                        Context.Concepto.Add(i);
                        Context.SaveChanges();
                    }

                    foreach (ProductoBanco i in ProductosBancos)
                    {
                        var IdProducto = (from x in Context.Producto
                                          where x.Nombre == i.Producto.Nombre
                                          select x.IdProducto).First();

                        i.IdProducto = IdProducto;
                        i.Producto   = null;
                        Context.ProductoBanco.Add(i);
                        Context.SaveChanges();
                    }

                    foreach (ConceptoProductoBanco i in ConceptosProductosBancos)
                    {
                        var IdProducto = (from x in Context.Producto
                                          where x.Nombre == i.ProductoBanco.Producto.Nombre
                                          select x.IdProducto).First();

                        i.IdProducto = IdProducto;

                        var IdConcepto = (from x in Context.Concepto
                                          where x.Nombre == i.Concepto.Nombre
                                          select x.IdConcepto).First();

                        i.IdConcepto = IdConcepto;

                        var IdParametro = (from x in Context.Parametro
                                           where x.Nombre == i.TipoComision
                                           select x.IdParametro).First();

                        i.TipoComision = IdParametro;

                        i.ProductoBanco = null;
                        i.Concepto      = null;

                        var ConceptoProductoBanco = (from x in Context.ConceptoProductoBanco
                                                     where x.IdConcepto == i.IdConcepto &&
                                                     x.IdProducto == i.IdProducto &&
                                                     x.IdBanco == i.IdBanco &&
                                                     x.Tasa30 == i.Tasa30 &&
                                                     x.Tasa60 == i.Tasa60 &&
                                                     x.Tasa90 == i.Tasa90 &&
                                                     x.Minimo == i.Minimo &&
                                                     x.Maximo == i.Maximo &&
                                                     x.METasaMax == i.METasaMax &&
                                                     x.METasaMin == i.METasaMin &&
                                                     x.MEMin == i.MEMin &&
                                                     x.MEMax == i.MEMax
                                                     select x).SingleOrDefault();

                        if (ConceptoProductoBanco == null)
                        {
                            Context.ConceptoProductoBanco.Add(i);
                        }
                        Context.SaveChanges();
                    }

                    Transaction.Commit();
                }
                catch (Exception ex)
                {
                    Transaction.Rollback();
                    throw ex;
                }
            }

            return(true);
        }