/// <summary>
 ///
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public bool CheckDuplicate(b2bProductGroup data)
 {
     try
     {
         int count = 0;
         //if (data.ProductGroupID > 0)
         //{
         count = qDB.b2bProductGroups
                 .Where(m => m.CompID == data.CompID && m.ProductGroupName == data.ProductGroupName && m.RowFlag > 0)
                 .Count();
         //}
         if (count > 0)
         {
             var ex = new ArgumentException("can't save this item because item is exist");
             MsgError.Add(ex);
             IsResult = false;
             return(IsResult);
         }
         else
         {
             IsResult = true;
             return(IsResult);
         }
     }
     catch
     {
         return(false);
     }
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool SaveProductGroup(b2bProductGroup model)
 {
     //default
     if (CheckDuplicate(model))
     {
         var data = new b2bProductGroup();
         //Update
         if (model.ProductGroupID > 0)
         {
             data = qDB.b2bProductGroups.Single(m => m.ProductGroupID == model.ProductGroupID);
             data.ProductGroupName = model.ProductGroupName;
             data.ListNo           = data.ListNo;
             data.CompID           = model.CompID;
         }
         //Add
         else
         {
             data.ProductGroupName = model.ProductGroupName;
             data.CompID           = model.CompID;
             data.ListNo           = model.ListNo;
             data.IsShow           = true;
             data.CreatedBy        = "sa";
             data.ModifiedBy       = "sa";
             data.CreatedDate      = DateTimeNow;
             data.ModifiedDate     = DateTimeNow;
         }
         data.RowFlag = 1;
         SaveData <b2bProductGroup>(data, "ProductGroupID");
     }
     return(IsResult);
 }
        public ActionResult SaveGroupProduct(string ProductGroupName, int?GroupID, short?RowVersion)
        {
            if (!CheckIsLogin())
            {
                return(Redirect(res.Pageviews.PvMemberSignIn));
            }
            var svProductGroup = new ProductGroupService();
            var model          = new b2bProductGroup();

            try
            {
                #region Set Model

                if (GroupID > 0)
                {
                    model.ProductGroupID = (int)GroupID;
                }
                else
                {
                    var sqlWhere = "IsDelete = 0 and CompID = " + LogonCompID;
                    var data     = svProductGroup.SelectData <b2bProductGroup>("*", sqlWhere, "ListNo DESC");
                    if (svProductGroup.TotalRow == 0)
                    {
                        model.ListNo = 1;
                    }
                    else
                    {
                        model.ListNo = data.First().ListNo + 1;
                    }
                }
                if (RowVersion > 0)
                {
                    model.RowVersion = (short)RowVersion;
                }

                model.ProductGroupName = ProductGroupName;
                model.CompID           = LogonCompID;
                model.IsShow           = true;
                #endregion

                svProductGroup.SaveProductGroup(model);
            }
            catch (Exception ex)
            {
                CreateLogFiles(ex);
            }

            return(Json(new { IsResult = svProductGroup.IsResult, MsgError = GenerateMsgError(svProductGroup.MsgError), ID = model.ProductGroupID }));
        }