Пример #1
0
        private void FillGridView()
        {
            var qtr          = Quater;
            var partnerId    = PartnerId;
            var targetVMList = new List <TargetViewModel>();
            var products     = _db.Products.OrderBy(p => p.SortOrder);

            foreach (var product in products)
            {
                var target = _db.Targets.FirstOrDefault(t => t.PartnerId == partnerId && t.QuarterYear == qtr && t.ProductId == product.ProductId);

                if (target == null)
                {
                    target = new Data.Models.Target();
                }

                var targetVM = new TargetViewModel
                {
                    TargetId           = target.TargetId,
                    M1                 = target.M1,
                    M2                 = target.M2,
                    M3                 = target.M3,
                    PartnerId          = target.PartnerId,
                    ProductCategory    = product.ProductCategory,
                    ProductDescription = product.ProductDescription,
                    ProductId          = product.ProductId,
                    QuarterYear        = target.QuarterYear
                };

                var prevQtr       = Utility.QuarterHelper.GetPrevQuarter(Quater);
                var prevQtrTarget = _db.Targets.Where(t => t.PartnerId == PartnerId && t.ProductId == product.ProductId && t.QuarterYear == prevQtr.QuarterYear).ToList();
                if (prevQtrTarget.Any())
                {
                    targetVM.PrevQtr = prevQtrTarget.Sum(t => t.M1 + t.M2 + t.M3);
                }

                targetVMList.Add(targetVM);
            }
            GridView1.DataSource = targetVMList;
            GridView1.DataBind();
            GridView1.UseAccessibleHeader    = true;
            GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
        }
Пример #2
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                var targetId = 0;
                var target   = new Data.Models.Target();

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

                if (targetId > 0)
                {
                    target = _db.Targets.Find(targetId);
                }
                else
                {
                    target.ProductId   = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString());
                    target.PartnerId   = PartnerId;
                    target.QuarterYear = Quater;
                }

                var txtM1 = (TextBox)row.FindControl("txtM1");
                if (txtM1 != null)
                {
                    target.M1 = Convert.ToInt32(txtM1.Text);
                }

                var txtM2 = (TextBox)row.FindControl("txtM2");
                if (txtM2 != null)
                {
                    target.M2 = Convert.ToInt32(txtM2.Text);
                }

                var txtM3 = (TextBox)row.FindControl("txtM3");
                if (txtM3 != null)
                {
                    target.M3 = Convert.ToInt32(txtM3.Text);
                }


                if (targetId > 0)
                {
                    target.ModifiedDate = System.DateTime.Now;
                    target.ModifiedUser = UserId;
                    _db.Entry <Target>(target).State = EntityState.Modified;
                }
                else
                {
                    target.CreatedDate = System.DateTime.Now;
                    target.CreatedUser = UserId;
                    _db.Targets.Add(target);
                }

                _db.SaveChanges();

                FillGridView();
            }
        }