Example #1
0
        private List <CompetitorViewModel> GetData(int partnerId, string quarter)
        {
            var CompetitorVMList = new List <CompetitorViewModel>();
            var Competitors      = _db.Competitors;

            foreach (var Competitor in Competitors)
            {
                var CompetitorsLi = _db.CompetitorLandscapes.FirstOrDefault(t => t.PartnerId == partnerId && t.QuarterYear == quarter && t.CategoryId == Competitor.CategoryId);

                if (CompetitorsLi == null)
                {
                    CompetitorsLi = new Data.Models.CompetitorLandscape();
                }

                var CompetitorVM = new CompetitorViewModel
                {
                    CompetitorId      = CompetitorsLi.CompetitorId,
                    Share             = CompetitorsLi.Share,
                    BrandPresenc      = CompetitorsLi.BrandPresenc,
                    PriceStrategy     = CompetitorsLi.PriceStrategy,
                    StoreInvestment   = CompetitorsLi.StoreInvestment,
                    AdditionalComment = CompetitorsLi.AdditionalComment,
                    PartnerId         = CompetitorsLi.PartnerId,
                    CategoryName      = Competitor.CategoryName,
                    CompetitorName    = Competitor.CompetitorName,
                    CategoryId        = Competitor.CategoryId,
                    QuarterYear       = CompetitorsLi.QuarterYear
                };

                CompetitorVMList.Add(CompetitorVM);
            }
            return(CompetitorVMList.OrderBy(c => c.CategoryName).ToList());
        }
        private void FillGridView()
        {
            var qtr              = Quater;
            var partnerId        = PartnerId;
            var CompetitorVMList = new List <CompetitorViewModel>();
            var Competitors      = _db.Competitors;

            foreach (var Competitor in Competitors)
            {
                var CompetitorsLi = _db.CompetitorLandscapes.FirstOrDefault(t => t.PartnerId == partnerId && t.QuarterYear == qtr && t.CategoryId == Competitor.CategoryId);

                if (CompetitorsLi == null)
                {
                    CompetitorsLi = new Data.Models.CompetitorLandscape();
                }

                var CompetitorVM = new CompetitorViewModel
                {
                    CompetitorId      = CompetitorsLi.CompetitorId,
                    Share             = CompetitorsLi.Share,
                    BrandPresenc      = CompetitorsLi.BrandPresenc,
                    PriceStrategy     = CompetitorsLi.PriceStrategy,
                    StoreInvestment   = CompetitorsLi.StoreInvestment,
                    AdditionalComment = CompetitorsLi.AdditionalComment,
                    PartnerId         = CompetitorsLi.PartnerId,
                    CategoryName      = Competitor.CategoryName,
                    CompetitorName    = Competitor.CompetitorName,
                    CompetitorLogo    = Competitor.CompetitorLogo,
                    CategoryId        = Competitor.CategoryId,
                    QuarterYear       = CompetitorsLi.QuarterYear
                };

                CompetitorVMList.Add(CompetitorVM);
            }
            GridView1.DataSource = CompetitorVMList;
            GridView1.DataBind();
            GridView1.UseAccessibleHeader    = true;
            GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                var CompetitorId        = 0;
                var competitorLandscape = new Data.Models.CompetitorLandscape();

                var hdnCompetitorId = (HiddenField)row.FindControl("hdnCompetitorId");
                if (hdnCompetitorId != null && !string.IsNullOrEmpty(hdnCompetitorId.Value))
                {
                    CompetitorId = Convert.ToInt32(hdnCompetitorId.Value);
                }

                if (CompetitorId > 0)
                {
                    competitorLandscape = _db.CompetitorLandscapes.Find(CompetitorId);
                }
                else
                {
                    competitorLandscape.CategoryId  = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString());
                    competitorLandscape.PartnerId   = PartnerId;
                    competitorLandscape.QuarterYear = Quater;
                }

                var txtShare = (TextBox)row.FindControl("txtShare");
                if (txtShare != null)
                {
                    competitorLandscape.Share = Convert.ToInt32(txtShare.Text);
                }

                var txtBrandPresenc = (TextBox)row.FindControl("txtBrandPresenc");
                if (txtBrandPresenc != null)
                {
                    competitorLandscape.BrandPresenc = Convert.ToInt32(txtBrandPresenc.Text);
                }

                var txtPriceStrategy = (TextBox)row.FindControl("txtPriceStrategy");
                if (txtPriceStrategy != null)
                {
                    competitorLandscape.PriceStrategy = Convert.ToString(txtPriceStrategy.Text);
                }

                var txtStoreInvestment = (TextBox)row.FindControl("txtStoreInvestment");
                if (txtStoreInvestment != null)
                {
                    competitorLandscape.StoreInvestment = Convert.ToString(txtStoreInvestment.Text);
                }

                var txtAdditionalComment = (TextBox)row.FindControl("txtAdditionalComment");
                if (txtAdditionalComment != null)
                {
                    competitorLandscape.AdditionalComment = Convert.ToString(txtAdditionalComment.Text);
                }

                if (CompetitorId > 0)
                {
                    competitorLandscape.ModifiedDate = System.DateTime.Now;
                    competitorLandscape.ModifiedUser = SessionData.Current.UserId;
                    _db.Entry <CompetitorLandscape>(competitorLandscape).State = EntityState.Modified;
                }
                else
                {
                    competitorLandscape.CreatedDate = System.DateTime.Now;
                    competitorLandscape.CreatedUser = SessionData.Current.UserId;
                    _db.CompetitorLandscapes.Add(competitorLandscape);
                }
                _db.SaveChanges();

                FillGridView();
            }
        }