Пример #1
0
        public void AddToPriceList(GridState gridState, IList <Filters.IFilter> filters, int priceListId)
        {
            if (!gridState.IsAnyItemMarked)
            {
                throw new NoItemMarkedException("No se ha seleccionado ningun Canal de Venta.");
            }

            MasterPriceSearchParameters msps = FilterHelper.GetSearchFilters(filters);

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            bool  CanSeeAll    = PermissionManager.Check(epv);
            IList priceListIds = null;

            if (!CanSeeAll)
            {
                priceListIds = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
            }

            epv               = new ExecutePermissionValidator();
            epv.ClassType     = typeof(Distributor);
            epv.KeyIdentifier = Config.DistributorInactiveStatus;
            bool isActive = PermissionManager.Check(epv);

            IList <Distributor> lst = repository.GetSelecteds(msps.Description, msps.Country, msps.PriceList, msps.PaymentTerm, msps.DistributorStatus, gridState, msps.Incoterm, msps.LookupType, msps.Categories[1] as CatalogPage, priceListIds, isActive);

            foreach (Distributor d in lst)
            {
                d.PriceList = new PriceList(priceListId);
                repository.Save(d);
            }
        }
Пример #2
0
        private ICriteria GetByProductCriteria(Product product, PriceList priceList)
        {
            ICriteria crit = GetCriteria();

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            if (PermissionManager.Check(epv) == false)
            {
                IList priceListIds    = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
                int[] intPriceListIds = new int[priceListIds.Count];
                for (int i = 0; i < priceListIds.Count; i++)
                {
                    intPriceListIds[i] = Convert.ToInt32(priceListIds[i]);
                }

                ICriteria critPriceList = crit.CreateCriteria("PriceList");
                critPriceList.Add(Expression.In("ID", intPriceListIds));
            }

            crit.CreateCriteria("PriceBase").CreateCriteria("Product").Add(Expression.Eq("ID", product.ID));
            if (priceList != null)
            {
                crit.Add(Expression.Eq("PriceList", priceList));
            }
            return(crit);
        }
Пример #3
0
        public IList <Distributor> GetActivesByPriceGroup(PriceGroup pG, int?maxResults)
        {
            //Cache Section
            string cacheKey          = null;
            MembershipHelperUser mhu = MembershipHelper.GetUser();

            if (mhu != null)
            {
                cacheKey = string.Format("DISTRIBUTORS_{0}_{1}_{2}_{3}", mhu.UserId, typeof(Distributor).ToString(), pG.ID, maxResults);
            }

            object result = CacheManager.GetCached(typeof(Distributor), cacheKey);

            if (result == null)
            {
                ExecutePermissionValidator epv = new ExecutePermissionValidator();
                epv.ClassType     = typeof(PriceList);
                epv.KeyIdentifier = Config.SeePriceLists;

                bool  CanSeeAll    = PermissionManager.Check(epv);
                IList priceListIds = null;
                if (!CanSeeAll)
                {
                    priceListIds = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
                }

                IList <Distributor> d = repository.GetActivesByPriceGroup(pG, maxResults, priceListIds);

                CacheManager.AddItem(typeof(Distributor), cacheKey, d);
                result = d;
            }
            return(result as IList <Distributor>);
        }
Пример #4
0
        public IList <Distributor> GetActivesByPriceList()
        {
            ICriteria crit = GetCriteria();

            crit.Add(Expression.Eq("DistributorStatus", DistributorStatus.Active));

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            if (PermissionManager.Check(epv) == false)
            {
                IList priceListIds    = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
                int[] intPriceListIds = new int[priceListIds.Count];
                for (int i = 0; i < priceListIds.Count; i++)
                {
                    intPriceListIds[i] = Convert.ToInt32(priceListIds[i]);
                }

                ICriteria critPriceList = crit.CreateCriteria("PriceList");
                critPriceList.Add(Expression.In("ID", intPriceListIds));
            }

            crit.AddOrder(new Order("Name", false));

            return(crit.List <Distributor>());
        }
Пример #5
0
        private void SetVisibility()
        {
            bool enabled = (Mode == EditionMode.Edit || Mode == EditionMode.Create);

            foreach (Control c in this.Controls)
            {
                if (c is WebControl && c.GetType() != typeof(LinkButton) && c.GetType() != typeof(ImageButton) && c.GetType() != typeof(HtmlContainerControl))
                {
                    (c as WebControl).Enabled = enabled;
                }
            }

            lnkDetails.Visible = (Mode != EditionMode.View);
            lnkEdit.Visible    = (Mode == EditionMode.View);
            btnSave.Visible    = (Mode != EditionMode.View);

            //txtListPrice.Visible = enabled;
            //lblIPL.Visible = enabled;

            //txtQuantity.Visible = enabled;
            //lblIQuantity.Visible = enabled;

            //ddlIncoterm.Visible = enabled;
            //lblIIncoterm.Visible = enabled;

            //ddlDeliveryTerm.Visible = enabled;
            //ddlDeliveryTime.Visible = enabled;
            //lblIDeliveryTime.Visible = enabled;

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(QuoteRange);
            epv.KeyIdentifier = Config.CanSeeImportantQuoteData;

            lblTP.Visible  = PermissionManager.Check(epv);
            lblITp.Visible = PermissionManager.Check(epv);

            lblGrp.Visible  = PermissionManager.Check(epv);
            lblIGrp.Visible = PermissionManager.Check(epv);

            lblCtr.Visible  = PermissionManager.Check(epv);
            lblICtr.Visible = PermissionManager.Check(epv);

            lblIndex.Visible  = PermissionManager.Check(epv);
            lblIIndex.Visible = PermissionManager.Check(epv);

            if (enabled)
            {
                divInsideFields.Attributes["class"] = "showme";
            }
            else
            {
                divInsideFields.Attributes["class"] = "hideme";
            }
        }
Пример #6
0
        public override bool ExecuteAction(GridState gs, IList <IFilter> filters, params object[] parameters)
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(ProductListView);
            epv.KeyIdentifier = Config.CanExportAll;
            CanExportAll      = PermissionManager.Check(epv);

            ExportToPDF(gs, filters);

            return(false);
        }
Пример #7
0
        public IList <Distributor> GetActivesByPriceGroup(PriceGroup pG, int?maxResults)
        {
            //Cache Section
            string cacheKey          = null;
            MembershipHelperUser mhu = MembershipHelper.GetUser();

            if (mhu != null)
            {
                cacheKey = string.Format("DISTRIBUTORS_{0}_{1}_{2}_{3}", mhu.UserId, typeof(Distributor).ToString(), pG.ID, maxResults);
            }

            object result = CacheManager.GetCached(typeof(Distributor), cacheKey);

            ICriteria crit = GetCriteria();

            if (result == null)
            {
                crit.Add(Expression.Not(Expression.Eq("DistributorStatus", DistributorStatus.Disable)));

                ICriteria critPriceList = crit.CreateCriteria("PriceList");

                ExecutePermissionValidator epv = new ExecutePermissionValidator();
                epv.ClassType     = typeof(PriceList);
                epv.KeyIdentifier = Config.SeePriceLists;

                if (PermissionManager.Check(epv) == false)
                {
                    IList priceListIds    = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
                    int[] intPriceListIds = new int[priceListIds.Count];
                    for (int i = 0; i < priceListIds.Count; i++)
                    {
                        intPriceListIds[i] = Convert.ToInt32(priceListIds[i]);
                    }

                    critPriceList.Add(Expression.In("ID", intPriceListIds));
                }

                critPriceList.Add(Expression.Or(Expression.Eq("PriceListStatus", PriceListStatus.Active), Expression.Eq("PriceListStatus", PriceListStatus.New)));
                critPriceList.Add(Expression.Eq("PriceGroup", pG));


                crit.AddOrder(new Order("TimeStamp.CreatedOn", false));
                if (maxResults.HasValue)
                {
                    crit.SetMaxResults(maxResults.Value);
                }

                result = crit.List <Distributor>();
                CacheManager.AddItem(typeof(Distributor), cacheKey, result);
            }
            return(result as IList <Distributor>);
        }
Пример #8
0
        public IList Check()
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Quote);
            epv.KeyIdentifier = Config.SeeQuotes;
            IList quoteIds = null;

            if (PermissionManager.Check(epv) == false)
            {
                quoteIds = PermissionManager.GetPermissionIdentifiers(typeof(Quote), PermissionAction.Create);
            }

            return(quoteIds);
        }
Пример #9
0
        protected void SetVisibility()
        {
            bool enabled = (Mode == EditionMode.Edit);

            foreach (Control c in this.Controls)
            {
                if (c is WebControl && c.GetType() != typeof(LinkButton))
                {
                    (c as WebControl).Enabled = enabled;
                }
            }

            btnSave.Visible    = enabled;
            lnkDetails.Visible = enabled;

            if (DistributorId != 0)
            {
                lnkEdit.Visible = !enabled;
            }
            else
            {
                lnkEdit.Visible = enabled;
            }

            lnkEdit.Visible = (PermissionManager.Check(lnkEdit) && Mode == EditionMode.View);
            if (enabled)
            {
                txtDiscount.Focus();
            }

            bool importantFieldsVisibility = false;

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Distributor);
            epv.KeyIdentifier = Config.DistributorFields;

            importantFieldsVisibility = PermissionManager.Check(epv);

            ttlProfitYTD.Visible    = importantFieldsVisibility;
            lblProfitYTD.Visible    = importantFieldsVisibility;
            ttlSalePrevYear.Visible = importantFieldsVisibility;
            lblSalePrevYear.Visible = importantFieldsVisibility;
            ttlSaleYTD.Visible      = importantFieldsVisibility;
            lblSaleYTD.Visible      = importantFieldsVisibility;

            lnkPriceList.Enabled = !enabled;
        }
Пример #10
0
        public IList <Distributor> GetActivesByPriceList()
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            IList priceListIds = null;

            if (PermissionManager.Check(epv) == false)
            {
                priceListIds = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
            }

            return(repository.GetActivesByPriceList(priceListIds));
        }
Пример #11
0
        public string GetQuoteMinimumIndex()
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(QuoteRange);
            epv.KeyIdentifier = Config.BestQuoteRange;

            if (!PermissionManager.Check(epv))
            {
                return(ControllerManager.Lookup.List(LookupType.IndexCommitment)[0].Description);
            }
            else
            {
                return("-1");
            }
        }
Пример #12
0
        private ICriteria ListCriteria(string text, Distributor distributor, QuoteStatus?status, Guid?userId)
        {
            ICriteria crit = GetCriteria();

            //check quote permissions
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Quote);
            epv.KeyIdentifier = Config.SeeQuotes;

            if (PermissionManager.Check(epv) == false)
            {
                IList quoteIds    = PermissionManager.GetPermissionIdentifiers(typeof(Quote), PermissionAction.Create);
                int[] intQuoteIds = new int[quoteIds.Count];
                for (int i = 0; i < quoteIds.Count; i++)
                {
                    intQuoteIds[i] = Convert.ToInt32(quoteIds[i]);
                }

                crit.Add(Expression.In("ID", intQuoteIds));
            }

            if (!string.IsNullOrEmpty(text))
            {
                Disjunction d = new Disjunction();
                d.Add(Restrictions.InsensitiveLike("Description", text, MatchMode.Anywhere));
                d.Add(Restrictions.InsensitiveLike("Observations", text, MatchMode.Anywhere));
                d.Add(Expression.InsensitiveLike("Number", text, MatchMode.Anywhere));
                crit.Add(d);
            }
            if (distributor != null)
            {
                crit.Add(Expression.Eq("Distributor", distributor));
            }

            if (status != null)
            {
                crit.Add(Expression.Eq("Status", status));
            }

            if (userId.HasValue)
            {
                crit.Add(Expression.Eq("TimeStamp.ModifiedBy", userId));
            }

            return(crit);
        }
Пример #13
0
        public List <string> GetActives(string name, int count)
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            bool  CanSeeAll    = PermissionManager.Check(epv);
            IList priceListIds = null;

            if (!CanSeeAll)
            {
                priceListIds = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
            }

            return(repository.GetActives(name, count, priceListIds));
        }
Пример #14
0
        private ICriteria GetProviderListCriteria(string description, Country country, ProviderStatus?status, Incoterm?saleCondition)
        {
            ICriteria crit = GetCriteria();

            if (!string.IsNullOrEmpty(description))
            {
                Disjunction d = new Disjunction();
                d.Add(Restrictions.InsensitiveLike("Description", description, MatchMode.Anywhere));
                d.Add(Restrictions.InsensitiveLike("Name", description, MatchMode.Anywhere));
                d.Add(Expression.InsensitiveLike("Code", description, MatchMode.Anywhere));
                crit.Add(d);
            }

            if (country != null)
            {
                ICriteria critCountry = crit.CreateCriteria("Country");
                critCountry.Add(Restrictions.Eq("ID", country.ID));
            }

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Provider);
            epv.KeyIdentifier = Config.ProviderInactiveStatus;

            if (PermissionManager.Check(epv) == false)
            {
                crit.Add(Expression.Eq("ProviderStatus", ProviderStatus.Active));
            }
            else
            if (status != null)
            {
                crit.Add(Restrictions.Eq("ProviderStatus", status));
            }

            if (saleCondition != null)
            {
                crit.Add(Expression.Eq("SaleConditions", saleCondition));
            }

            return(crit);
        }
Пример #15
0
        public IList <Distributor> GetDistributors(string name, Country country, PriceList priceList, Lookup paymentTerm, DistributorStatus?status, GridState gridState, out int totalRecords, Lookup saleCondition, Lookup type, CatalogPage page)
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            bool  CanSeeAll    = PermissionManager.Check(epv);
            IList priceListIds = null;

            if (!CanSeeAll)
            {
                priceListIds = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
            }

            epv               = new ExecutePermissionValidator();
            epv.ClassType     = typeof(Distributor);
            epv.KeyIdentifier = Config.DistributorInactiveStatus;
            bool isActive = PermissionManager.Check(epv);

            return(repository.GetDistributors(name, country, priceList, paymentTerm, status, gridState, out totalRecords, saleCondition, type, page, priceListIds, isActive));
        }
Пример #16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (!string.IsNullOrEmpty(Request.QueryString["Id"]))
                {
                    DistributorId = Convert.ToInt32(Request.QueryString["Id"]);

                    dceCreate.DistributorId = DistributorId;
                    dceCreate.Mode          = EditionMode.Create;
                    dceCreate.DataBind();
                    LoadContacts(DistributorId);

                    //permiso para poder crear contacto
                    ExecutePermissionValidator epv = new ExecutePermissionValidator();
                    epv.ClassType     = typeof(Contact);
                    epv.KeyIdentifier = Config.CanCreateContact;
                    btnNew.Visible    = PermissionManager.Check(epv);
                }
            }

            dceCreate.SaveCreation += new CommandEventHandler(dceCreate_SaveCreation);
        }
Пример #17
0
        public IList <Distributor> GetDistributors()
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            bool  CanSeeAll    = PermissionManager.Check(epv);
            IList priceListIds = null;

            if (!CanSeeAll)
            {
                priceListIds = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
            }

            epv               = new ExecutePermissionValidator();
            epv.ClassType     = typeof(Distributor);
            epv.KeyIdentifier = Config.DistributorInactiveStatus;
            bool isActive = PermissionManager.Check(epv);
            int  totalRecords;

            return(repository.GetDistributors(string.Empty, null, null, null, DistributorStatus.Active, new GridState(new List <int>(), 0, 0, "Name", true, false, DateTime.Now, null), out totalRecords, null, null, null, priceListIds, isActive));
        }
Пример #18
0
        public QuoteRange GetRange()
        {
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(QuoteRange);
            epv.KeyIdentifier = Config.BestQuoteRange;

            if (!PermissionManager.Check(epv))
            {
                IList quoteRangeTitles   = PermissionManager.GetPermissionIdentifiersFromFunction(typeof(QuoteRange), PermissionAction.Create);
                IList <QuoteRange> qrLst = new List <QuoteRange>();
                for (int i = 0; i < quoteRangeTitles.Count; i++)
                {
                    qrLst.Add(GetByTitle(quoteRangeTitles[i].ToString()));
                }

                return(GetBestRange(qrLst));
            }
            else
            {
                return(GetBestRange());
            }
        }
Пример #19
0
        public IList <PriceGroup> GetByPriceLists()
        {
            ICriteria crit = GetCriteria();

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(PriceList);
            epv.KeyIdentifier = Config.SeePriceLists;

            if (PermissionManager.Check(epv) == false)
            {
                IList priceListIds    = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
                int[] intPriceListIds = new int[priceListIds.Count];
                for (int i = 0; i < priceListIds.Count; i++)
                {
                    intPriceListIds[i] = Convert.ToInt32(priceListIds[i]);
                }

                ICriteria critPriceList = crit.CreateCriteria("PriceLists");
                critPriceList.Add(Expression.In("ID", intPriceListIds));
            }

            return(crit.List <PriceGroup>());
        }
Пример #20
0
        private ICriteria GetDistributorsCriteria(string name, Country country, PriceList priceList,
                                                  Lookup paymentTerm, DistributorStatus?status,
                                                  GridState gridState, Incoterm?saleCondition, Lookup type, CatalogPage page)
        {
            ICriteria crit = GetCriteria();

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Distributor);
            epv.KeyIdentifier = Config.SeeAllDistributors;

            if (PermissionManager.Check(epv) == false)
            {
                IList priceListIds    = PermissionManager.GetPermissionIdentifiers(typeof(PriceList), PermissionAction.Create);
                int[] intPriceListIds = new int[priceListIds.Count];
                for (int i = 0; i < priceListIds.Count; i++)
                {
                    intPriceListIds[i] = Convert.ToInt32(priceListIds[i]);
                }

                ICriteria critDistributor = crit.CreateCriteria("PriceList");
                critDistributor.Add(Expression.In("ID", intPriceListIds));
            }


            if (!string.IsNullOrEmpty(name))
            {
                Disjunction d = new Disjunction();
                d.Add(Expression.InsensitiveLike("Name", name, MatchMode.Anywhere));
                d.Add(Expression.InsensitiveLike("Code", name, MatchMode.Anywhere));
                crit.Add(d);
            }


            if (country != null)
            {
                ICriteria critCountry = crit.CreateCriteria("Country");
                critCountry.Add(Expression.Eq("ID", country.ID));
            }
            if (priceList != null)
            {
                ICriteria critPriceList = crit.CreateCriteria("PriceList");
                critPriceList.Add(Expression.Eq("ID", priceList.ID));
            }
            if (paymentTerm != null)
            {
                crit.Add(Expression.Eq("PaymentTerm", paymentTerm));
            }

            if (status != null)
            {
                crit.Add(Expression.Eq("DistributorStatus", status));
            }
            else
            {
                epv               = new ExecutePermissionValidator();
                epv.ClassType     = typeof(Distributor);
                epv.KeyIdentifier = Config.DistributorInactiveStatus;

                if (PermissionManager.Check(epv) == false)
                {
                    crit.Add(Expression.Eq("DistributorStatus", DistributorStatus.Active));
                }
            }

            if (saleCondition != null)
            {
                crit.Add(Expression.Eq("SaleConditions", saleCondition));
            }

            if (type != null)
            {
                crit.Add(Expression.Eq("Type", type));
            }

            if (page != null)
            {
                crit.CreateCriteria("PriceList").CreateCriteria("CategoryPages").Add(Expression.Eq("ID", page.ID));
            }

            return(crit);
        }
Пример #21
0
        private void LoadFields()
        {
            Quote q = null;

            if (QuoteId > 0)
            {
                q = ControllerManager.Quote.GetById(QuoteId);
            }

            if (q == null || ((q.Status == QuoteStatus.InAssistence || q.Status == QuoteStatus.AssistenceRequired) && "Chequear si no sos administrador" == "Chequear si no sos administrador"))
            {
                Response.Redirect("/accessdenied.aspx");
            }

            if (q.Status == QuoteStatus.Sent)
            {
                lnkEdit.Visible = false;
            }
            else
            if (!ControllerManager.Quote.ValidateQuote(q))
            {
                Utils.ShowMessage(this.Page, "Se modifico la información de la cotización.", Utils.MessageType.Warning);
            }

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Quote);
            epv.KeyIdentifier = Config.SeeQuotes;

            if (PermissionManager.Check(epv) == false)
            {
                PermissionManager.Validate(q);
            }

            lblDistributor.Text = q.Distributor.Name;

            if (!string.IsNullOrEmpty(q.Contacts))
            {
                lblContact.Text = q.Contacts;
            }
            else
            {
                lblContact.Text = "N/D";
            }

            lblDate.Text        = q.TimeStamp.CreatedOn.ToShortDateString();
            lblDiscount.Text    = q.Distributor.Discount.ToString("#0.00") + "%";
            lblVigency.Text     = q.Vigency.Description + " dias";
            lblQuoteNumber.Text = q.Number;
            if (q.Distributor.PaymentTerm != null)
            {
                lblPaymentCondition.Text = q.Distributor.PaymentTerm.Description;
            }
            lblIntroText.Text = q.IntroText.Description;
            lblCondition.Text = q.Condition.Description;
            lblStatus.Text    = EnumHelper.GetDescription(q.Status);
            MembershipHelperUser mhu = MembershipHelper.GetUser(q.TimeStamp.CreatedBy);

            if (q.TimeStamp != null && mhu != null)
            {
                lblAutor.Text = mhu.FullName;
            }
            //lblObservation.Text = q.Observations;
            lblObservation.Text = StringFormat.Cut(q.Observations, 100);
            lblObservation.Attributes["title"] = q.Observations;
            if (q.Currency != null && q.CurrencyRate != null)
            {
                lblCurrency.Text = q.Currency.Description + " (" + q.CurrencyRate.Rate + ")";
            }
            btnGetAssistence.Visible = q.Status == QuoteStatus.Draft;

            rptQuoteLine.DataSource = q.QuoteItems;
            rptQuoteLine.DataBind();

            lblTotalCount.Text = q.Currency.Description + " " + TotalCount.ToString("0.##");

            if (q.QuoteNotifications.Count == 0 || q.Status == QuoteStatus.Rejected)
            {
                btnSendPDF.Visible = false;
                if (q.QuoteNotifications.Count == 0)
                {
                    Utils.ShowMessage(this.Page, "La cotización no podrá ser enviada por email ya que no tiene contactos asignados.", Utils.MessageType.Warning);
                }
            }
        }
Пример #22
0
        private void LoadFields()
        {
            if (PriceListId != 0)
            {
                PriceList pl = ControllerManager.PriceList.GetById(PriceListId);

                //if (!MembershipManager.IsAdministrator())
                ExecutePermissionValidator epv = new ExecutePermissionValidator();
                epv.ClassType     = typeof(PriceList);
                epv.KeyIdentifier = Config.SeePriceLists;

                if (PermissionManager.Check(epv) == false)
                {
                    PermissionManager.Validate(pl);
                }
                txtName.Text        = pl.Name;
                txtDescripcion.Text = pl.Description;
                lblDiscount.Text    = pl.Discount.ToString("#0.###") + "%";

                if (pl.Type != null)
                {
                    ddlType.SelectedValue = ddlType.Items.FindByValue(pl.Type.ID.ToString()).Value;
                }
                else
                {
                    ddlType.SelectedIndex = 0;
                }

                if (pl.SaleCondition != null)
                {
                    ddlIncoterm.SelectedValue = ddlIncoterm.Items.FindByValue(pl.SaleCondition.ToString()).Value;
                }
                else
                {
                    ddlIncoterm.SelectedIndex = 0;
                }

                lblStatus.Text = Resource.Business.GetString(pl.CurrentState.Status.ToString());

                if (pl.CurrentState.LastPublishedOn.HasValue)
                {
                    lblLastPubDate.Text = pl.CurrentState.LastPublishedOn.Value.ToShortDateString();
                }
                else
                {
                    lblLastPubDate.Text = "N/D";
                }

                if (pl.Frecuency != null)
                {
                    ddlFrequency.SelectedValue = ddlFrequency.Items.FindByValue(pl.Frecuency.ToString()).Value;
                }
                else
                {
                    ddlFrequency.SelectedIndex = 0;
                }

                if (pl.Currency != null)
                {
                    ddlCurrency.SelectedValue = ddlCurrency.Items.FindByValue(pl.Currency.ID.ToString()).Value;
                    lblCurrency.Text          = pl.Currency.Description;
                }
                else
                {
                    ddlCurrency.SelectedIndex = 0;
                }

                lblCountry.Text    = pl.PriceGroup.Name;
                lblCountry.Visible = true;
            }
        }
Пример #23
0
        private void LoadFields()
        {
            if (QuoteId != 0)
            {
                Quote q = null;
                if (QuoteId > 0)
                {
                    q    = ControllerManager.Quote.GetById(QuoteId);
                    Mode = EditionMode.Edit;
                }

                //if (!MembershipManager.IsAdministrator())
                ExecutePermissionValidator epv = new ExecutePermissionValidator();
                epv.ClassType     = typeof(Quote);
                epv.KeyIdentifier = Config.SeeQuotes;

                if (PermissionManager.Check(epv) == false)
                {
                    PermissionManager.Validate(q);
                }

                if (q != null)
                {
                    if (q.Status == QuoteStatus.Sent)
                    {
                        Response.Redirect("/accessdenied.aspx");
                    }

                    txtDistributor.Text  = q.Distributor.Name;
                    txtDescripcion.Text  = q.Description;
                    txtObservations.Text = q.Observations;
                    txtEmail.Text        = q.Email;
                    txtContact.Text      = q.Contact;

                    ddlQuoteCondition.SelectedValue = q.Condition.ID.ToString();
                    ddlQuoteIntroText.SelectedValue = q.IntroText.ID.ToString();
                    ddlQuoteVigency.SelectedValue   = q.Vigency.ID.ToString();

                    foreach (QuoteItem item in q.QuoteItems)
                    {
                        PriceMasterList1.GridState.Items.Add(item.PriceBase.ID);
                        PriceMasterList1.HidSelChecks = PriceMasterList1.HidSelChecks + item.PriceBase.ID + ",";

                        HtmlAnchor a = new HtmlAnchor();
                        a.InnerText             = "[x]";
                        a.Attributes["class"]   = "removeItem";
                        a.Attributes["onclick"] = "removeItem()";
                        HtmlGenericControl h3 = new HtmlGenericControl("h3");
                        if (string.IsNullOrEmpty(item.PriceBase.Product.Code))
                        {
                            h3.InnerText = item.PriceBase.ProviderCode;
                        }
                        else
                        {
                            h3.InnerText = item.PriceBase.Product.Code;
                        }
                        HtmlGenericControl p = new HtmlGenericControl("p");
                        p.InnerText = item.PriceBase.Product.Model;
                        HtmlGenericControl li = new HtmlGenericControl("li");
                        li.Attributes["id"] = item.PriceBase.ID.ToString();
                        li.Controls.Add(a);
                        li.Controls.Add(h3);
                        li.Controls.Add(p);
                        productlist.Controls.Add(li);
                    }
                    if (PriceMasterList1.HidSelChecks.Length > 0)
                    {
                        PriceMasterList1.HidSelChecks = PriceMasterList1.HidSelChecks.Substring(0, PriceMasterList1.HidSelChecks.Length - 1);
                    }
                    //PriceMasterList1.AllowMultipleSelection = false;
                    //PriceMasterList1.QuoteId = q.ID;
                }
            }
        }
Пример #24
0
        private void LoadFields()
        {
            Quote q = null;

            if (QuoteId > 0)
            {
                q = ControllerManager.Quote.GetById(QuoteId);
            }

            if (q == null)
            {
                Response.Redirect("/accessdenied.aspx");
            }

            if (q.Status == QuoteStatus.Sent)
            {
                lnkEdit.Visible = false;
            }

            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(Quote);
            epv.KeyIdentifier = Config.SeeQuotes;

            if (PermissionManager.Check(epv) == false)
            {
                PermissionManager.Validate(q);
            }

            lblDistributor.Text = q.Distributor.Name;

            if (!string.IsNullOrEmpty(q.Contact))
            {
                lblContact.Text = q.Contact;
            }
            else
            {
                lblContact.Text = q.Distributor.Contact;
            }
            if (!string.IsNullOrEmpty(q.Email))
            {
                lblMail.Text = q.Email;
            }
            else if (!string.IsNullOrEmpty(q.Distributor.Email))
            {
                lblMail.Text = q.Distributor.Email;
            }
            else if (!string.IsNullOrEmpty(q.Distributor.AlternativeEmail))
            {
                lblMail.Text = q.Distributor.AlternativeEmail;
            }
            else
            {
                lblMail.Text = "N/D";
            }
            lblDate.Text        = q.TimeStamp.CreatedOn.ToShortDateString();
            lblDiscount.Text    = q.Distributor.Discount.ToString("#0.00") + "%";
            lblVigency.Text     = q.Vigency.Description + " dias";
            lblQuoteNumber.Text = q.Number;
            if (q.Distributor.PaymentTerm != null)
            {
                lblPaymentCondition.Text = q.Distributor.PaymentTerm.Title;
            }
            lblIntroText.Text = q.IntroText.Description;
            lblCondition.Text = q.Condition.Description;
            lblStatus.Text    = EnumHelper.GetDescription(q.Status);
            if (q.TimeStamp != null && MembershipHelper.GetUser(q.TimeStamp.CreatedBy) != null)
            {
                lblAutor.Text = MembershipHelper.GetUser(q.TimeStamp.CreatedBy).UserName;
            }
            //lblObservation.Text = q.Observations;
            lblObservation.Text = StringFormat.Cut(q.Observations, 100);
            lblObservation.Attributes["title"] = q.Observations;
            if (!Page.IsPostBack)
            {
                BoundField bf = new BoundField();
                bf.DataField      = "Code";
                bf.HeaderText     = Resource.Business.GetString("GridViewColumnCode");
                bf.SortExpression = "Code";
                GridView1.Columns.Add(bf);

                bf                = new BoundField();
                bf.DataField      = "Description";
                bf.HeaderText     = Resource.Business.GetString("GridViewColumnDescription");
                bf.SortExpression = "Description";
                GridView1.Columns.Add(bf);

                bf                = new BoundField();
                bf.DataField      = "PriceSell";
                bf.HeaderText     = Resource.Business.GetString("GridViewColumnPriceSell");
                bf.SortExpression = "PriceSell";
                GridView1.Columns.Add(bf);

                bf                = new BoundField();
                bf.DataField      = "PriceList";
                bf.HeaderText     = Resource.Business.GetString("GridViewColumnPrice");
                bf.SortExpression = "PriceList";
                GridView1.Columns.Add(bf);

                bf                = new BoundField();
                bf.DataField      = "LeadTime";
                bf.HeaderText     = Resource.Business.GetString("GridViewColumnLeadTime");
                bf.SortExpression = "LeadTime";
                GridView1.Columns.Add(bf);

                epv               = new ExecutePermissionValidator();
                epv.ClassType     = typeof(QuoteItem);
                epv.KeyIdentifier = Config.QuoteItemSourceColumn;

                bf                = new BoundField();
                bf.DataField      = "Source";
                bf.HeaderText     = Resource.Business.GetString("GridViewColumnSource");
                bf.SortExpression = "Source";
                bf.Visible        = PermissionManager.Check(epv);
                GridView1.Columns.Add(bf);
            }

            GridView1.DataSource = q.QuoteItems;
            GridView1.DataBind();

            if ((string.IsNullOrEmpty(q.Distributor.Email) && string.IsNullOrEmpty(q.Distributor.AlternativeEmail) && string.IsNullOrEmpty(q.Email)) || q.Status == QuoteStatus.Rejected)
            {
                btnSendPDF.Visible = false;
                Utils.ShowMessage(this.Page, "No se podra enviar la cotización por correo ya que el Canal de Ventas no tiene correo electronico asignado.", Utils.MessageType.Warning);
            }
        }
Пример #25
0
        private void LoadFields()
        {
            if (QuoteId != 0)
            {
                Quote q = null;
                if (QuoteId > 0)
                {
                    q    = ControllerManager.Quote.GetById(QuoteId);
                    Mode = EditionMode.Edit;
                }

                //if (!MembershipManager.IsAdministrator())
                ExecutePermissionValidator epv = new ExecutePermissionValidator();
                epv.ClassType     = typeof(Quote);
                epv.KeyIdentifier = Config.SeeQuotes;

                if (PermissionManager.Check(epv) == false)
                {
                    PermissionManager.Validate(q);
                }

                if (q != null)
                {
                    if (q.Status == QuoteStatus.Sent)
                    {
                        Response.Redirect("/accessdenied.aspx");
                    }

                    if (!ControllerManager.Quote.ValidateQuote(q))
                    {
                        Utils.ShowMessage(this.Page, "Se modifico la información de la cotización.", Utils.MessageType.Warning);
                    }

                    txtDistributor.Text  = q.Distributor.Name + "-[" + q.Distributor.Code + "]";
                    txtDescripcion.Text  = q.Description;
                    txtObservations.Text = q.Observations;

                    ContactsUpdate(q.Distributor);

                    string email   = string.Empty;
                    string contact = string.Empty;
                    List <IQuoteNotification> toDelete = new List <IQuoteNotification>();
                    foreach (IQuoteNotification notification in q.QuoteNotifications)
                    {
                        if (notification is QuoteNotification)
                        {
                            email   = notification.Email;
                            contact = notification.Name;
                        }
                        else
                        {
                            ListItem li = cblContacts.Items.FindByValue(((ContactQuoteNotification)notification).Contact.ID.ToString());
                            if (li != null)
                            {
                                li.Selected = true;
                            }
                            else
                            {
                                toDelete.Add(notification);
                            }
                        }
                    }

                    if (toDelete.Count > 0)
                    {
                        foreach (IQuoteNotification notification in toDelete)
                        {
                            q.QuoteNotifications.Remove(notification);
                        }
                    }

                    txtEmail.Text   = email;
                    txtContact.Text = contact;

                    ddlQuoteCondition.SelectedValue = q.Condition.ID.ToString();
                    ddlQuoteIntroText.SelectedValue = q.IntroText.ID.ToString();
                    ddlQuoteVigency.SelectedValue   = q.Vigency.ID.ToString();

                    foreach (QuoteItem item in q.SortedQuoteItems)
                    {
                        PriceMasterList1.GridState.Items.Add(item.PriceBase.ID);
                        PriceMasterList1.HidSelChecks = PriceMasterList1.HidSelChecks + item.PriceBase.ID + ",";

                        HtmlAnchor a = new HtmlAnchor();
                        a.InnerText             = "[x]";
                        a.Attributes["class"]   = "removeItem";
                        a.Attributes["onclick"] = "removeItem()";
                        HtmlGenericControl h3 = new HtmlGenericControl("h3");
                        if (string.IsNullOrEmpty(item.PriceBase.Product.Code))
                        {
                            h3.InnerText = item.PriceBase.ProviderCode;
                        }
                        else
                        {
                            h3.InnerText = item.PriceBase.Product.Code;
                        }
                        HtmlGenericControl p = new HtmlGenericControl("p");
                        p.InnerText = item.PriceBase.Product.Model;
                        HtmlGenericControl li = new HtmlGenericControl("li");
                        li.Attributes["id"] = item.PriceBase.ID.ToString();
                        li.Controls.Add(a);
                        li.Controls.Add(h3);
                        li.Controls.Add(p);
                        productlist.Controls.Add(li);
                    }
                    if (PriceMasterList1.HidSelChecks.Length > 0)
                    {
                        PriceMasterList1.HidSelChecks = PriceMasterList1.HidSelChecks.Substring(0, PriceMasterList1.HidSelChecks.Length - 1);
                    }
                    //PriceMasterList1.AllowMultipleSelection = false;
                    //PriceMasterList1.QuoteId = q.ID;

                    if (q.Currency != null)
                    {
                        ddlToCurrency.SelectedValue = ddlToCurrency.Items.FindByValue(q.Currency.ID.ToString()).Value;
                        lblCurrencyRate.Text        = ControllerManager.CurrencyRate.GetLast(q.Currency).Rate.ToString("(##0.####)");
                    }
                }
            }
        }
Пример #26
0
        private void ExportToExcel(GridState gs, IList <IFilter> filters)
        {
            Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;

            GridView grdProductList = new GridView();

            grdProductList.AutoGenerateColumns = false;

            BoundField bf = new BoundField();

            bf.ItemStyle.Width = Unit.Pixel(95);
            bf.DataField       = "Code";
            bf.HeaderText      = "C&oacute;digo";
            bf.HtmlEncode      = false;
            // bf.DataFormatString = "{0:00000000}";
            grdProductList.Columns.Add(bf);


            bf = new BoundField();
            bf.ItemStyle.Width           = Unit.Pixel(600);
            bf.DataField                 = "FinalInfo";
            bf.HeaderText                = "Modelo";
            bf.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
            grdProductList.Columns.Add(bf);

            //si sos Admin
            ExecutePermissionValidator epv = new ExecutePermissionValidator();

            epv.ClassType     = typeof(ProductListView);
            epv.KeyIdentifier = Config.CanExportAll;
            bool canExporAll = PermissionManager.Check(epv);

            if (canExporAll)
            {
                bf = new BoundField();
                bf.ItemStyle.Width = Unit.Pixel(150);
                bf.DataField       = "Provider";
                bf.HeaderText      = "Proveedor";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width  = Unit.Pixel(50);
                bf.DataField        = "Index";
                bf.HeaderText       = "Index";
                bf.HtmlEncode       = false;
                bf.DataFormatString = "{0:F2}";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width = Unit.Pixel(70);
                bf.DataField       = "Type";
                bf.HeaderText      = "Frecuencia";
                grdProductList.Columns.Add(bf);


                bf = new BoundField();
                bf.ItemStyle.Width = Unit.Pixel(30);
                bf.DataField       = "PricePurchaseCurrency";
                bf.HeaderText      = "M. TP";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width  = Unit.Pixel(70);
                bf.DataField        = "PricePurchase";
                bf.HeaderText       = "TP";
                bf.HtmlEncode       = false;
                bf.DataFormatString = "{0:F2}";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width = Unit.Pixel(30);
                bf.DataField       = "PriceSuggestCurrency";
                bf.HeaderText      = "M. GRP";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width  = Unit.Pixel(70);
                bf.DataField        = "PriceSuggest";
                bf.HeaderText       = "GRP";
                bf.HtmlEncode       = false;
                bf.DataFormatString = "{0:F2}";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width = Unit.Pixel(30);
                bf.DataField       = "PriceListCurrency";
                bf.HeaderText      = "M. PV";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width  = Unit.Pixel(70);
                bf.DataField        = "PriceSell";
                bf.HeaderText       = "PV";
                bf.HtmlEncode       = false;
                bf.DataFormatString = "{0:F2}";
                grdProductList.Columns.Add(bf);
            }

            bf = new BoundField();
            bf.ItemStyle.Width = Unit.Pixel(10);
            bf.DataField       = "PriceListCurrency";
            bf.HeaderText      = "M. PL";
            grdProductList.Columns.Add(bf);

            bf = new BoundField();
            bf.ItemStyle.Width  = Unit.Pixel(70);
            bf.DataField        = "Price";
            bf.HeaderText       = "PL";
            bf.HtmlEncode       = false;
            bf.DataFormatString = "{0:F2}";
            grdProductList.Columns.Add(bf);

            if (canExporAll)
            {
                bf = new BoundField();
                bf.ItemStyle.Width = Unit.Pixel(30);
                bf.DataField       = "PriceListCurrency";
                bf.HeaderText      = "M. CTM";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width  = Unit.Pixel(70);
                bf.DataField        = "CTM";
                bf.HeaderText       = "CTM";
                bf.HtmlEncode       = false;
                bf.DataFormatString = "{0:F2}";
                grdProductList.Columns.Add(bf);

                bf = new BoundField();
                bf.ItemStyle.Width  = Unit.Pixel(70);
                bf.DataField        = "CTR";
                bf.HeaderText       = "CTR";
                bf.HtmlEncode       = false;
                bf.DataFormatString = "{0:F2}";
                grdProductList.Columns.Add(bf);

                //bf = new BoundField();
                //bf.ItemStyle.Width = Unit.Pixel(70);
                //bf.DataField = "Status";
                //bf.HeaderText = "Estado";
                //grdProductList.Columns.Add(bf);
            }
            //***************//



            grdProductList.DataSource = GetFiltered(gs, filters);
            grdProductList.DataBind();

            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename=ListadePrecios.xls"));
            HttpContext.Current.Response.ContentType = "application/ms-excel";

            StringWriter   sw  = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);

            System.Web.UI.WebControls.Table table = new System.Web.UI.WebControls.Table();
            table.GridLines = grdProductList.GridLines;

            //Set the Cell format
            string codeFormat = @"<style>.cF  { mso-number-format:'\@'; }</style>";

            //  add the header row to the table
            if (grdProductList.HeaderRow != null)
            {
                PrepareControlForExport(grdProductList.HeaderRow);
                table.Rows.Add(grdProductList.HeaderRow);
                table.Rows[0].ForeColor = System.Drawing.Color.FromArgb(102, 102, 102);

                for (int i = 0; i < table.Rows[0].Cells.Count; i++)
                {
                    table.Rows[0].Cells[i].BackColor = System.Drawing.Color.FromArgb(225, 224, 224);
                }
            }

            //  add each of the data rows to the table
            foreach (GridViewRow row in grdProductList.Rows)
            {
                PrepareControlForExport(row);
                int pos = table.Rows.Add(row);

                table.Rows[pos].Cells[0].Attributes.Add("class", "cF");
                table.Rows[pos].Cells[0].HorizontalAlign  = HorizontalAlign.Right;
                table.Rows[pos].Cells[0].Width            = 95;
                table.Rows[pos].Cells[1].Width            = 600;
                table.Rows[pos].Cells[2].Width            = 110;
                table.Rows[pos].Cells[2].HorizontalAlign  = HorizontalAlign.Left;
                table.Rows[pos].Cells[4].HorizontalAlign  = HorizontalAlign.Right;
                table.Rows[pos].Cells[5].HorizontalAlign  = HorizontalAlign.Right;
                table.Rows[pos].Cells[7].HorizontalAlign  = HorizontalAlign.Right;
                table.Rows[pos].Cells[9].HorizontalAlign  = HorizontalAlign.Right;
                table.Rows[pos].Cells[11].HorizontalAlign = HorizontalAlign.Right;
                table.Rows[pos].Cells[13].HorizontalAlign = HorizontalAlign.Right;
                //Set Euro Symbol Correctly
                if (row.Cells[13].Text == "€")
                {
                    table.Rows[pos].Cells[13].Text = "&#8364";
                }
                if (canExporAll)
                {
                    if (row.Cells[5].Text == "€")
                    {
                        table.Rows[pos].Cells[5].Text = "&#8364";
                    }
                    if (row.Cells[7].Text == "€")
                    {
                        table.Rows[pos].Cells[7].Text = "&#8364";
                    }
                    if (row.Cells[9].Text == "€")
                    {
                        table.Rows[pos].Cells[9].Text = "&#8364";
                    }
                    if (row.Cells[11].Text == "€")
                    {
                        table.Rows[pos].Cells[11].Text = "&#8364";
                    }
                }
                table.Rows[pos].Cells[3].Attributes.Add("class", "pF");
                table.Rows[pos].Cells[3].Width = 110;
            }

            //  render the table into the htmlwriter
            table.RenderControl(htw);

            //  render the htmlwriter into the response adding de style

            HttpContext.Current.Response.Write(codeFormat + sw.ToString());
            HttpContext.Current.Response.End();
        }