Exemplo n.º 1
0
        /// <summary>
        /// 根据传递进来的文件名删除文件
        /// Change1:在删除文件之前,必须先删除文件的关系表
        /// </summary>
        /// <param name="MediaID"></param>
        /// <returns></returns>
        public bool removeMediaLibraryByID(long MediaID)
        {
            using (PermaisuriCMSEntities db = new PermaisuriCMSEntities())
            {
                //必须先删除关系,否则会造成数据大概 整个页面Null reference Object!

                /*Store update, insert, or delete statement affected an unexpected number of rows (0).
                 * Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager
                 * SQL Profiler查询追踪到的是 exec sp_executesql N'delete [dbo].[SKU_Media_Relation] where ([RelationID] = @0)',N'@0 bigint',@0=0
                 * 明显的 ,是以RelationID做为Key去删除!所以这种方法不科学....2014年2月14日14:57:34*/
                //SKU_Media_Relation mr = new SKU_Media_Relation { MediaID = MediaID };
                //db.Set<SKU_Media_Relation>().Attach(mr);
                //db.SKU_Media_Relation.Remove(mr);


                //var query = db.SKU_Media_Relation.Where(r=>r.MediaID==MediaID);
                //foreach (var m in query)
                //{
                //    db.SKU_Media_Relation.Remove(m);
                //}

                //MediaLibrary ml = new MediaLibrary { MediaID = MediaID };
                //db.Set<MediaLibrary>().Attach(ml);
                //db.MediaLibrary.Remove(ml);
                //return db.SaveChanges() > 0;

                /*以下方法是用于删除图像的时候,自动删除所关联的信息,如果不删除,将会引发打开数据异常!*/
                var query = db.MediaLibrary.FirstOrDefault(s => s.MediaID == MediaID);
                db.Entry(query).Collection(m => m.SKU_Media_Relation).Load();
                db.MediaLibrary.Remove(query);
                return(db.SaveChanges() > 0);
            }
        }
Exemplo n.º 2
0
        public bool EditHmCartons(IEnumerable <CMS_ProductCTN_Model> ctnList, string userAccount)
        {
            if (ctnList == null)
            {
                throw new ArgumentNullException("ctnList");
            }

            using (var db = new PermaisuriCMSEntities())
            {
                var retVal = 0;
                foreach (var model in ctnList)
                {
                    var ctn = db.CMS_ProductCTN.FirstOrDefault(c => c.CTNID == model.CTNID);
                    if (ctn != null)
                    {
                        ctn.CTNCube    = model.CTNCube;
                        ctn.CTNLength  = model.CTNLength;
                        ctn.CTNWidth   = model.CTNWidth;
                        ctn.CTNHeight  = model.CTNHeight;
                        ctn.CTNComment = model.CTNComment;
                        ctn.UpdateBy   = userAccount;
                        ctn.CTNWeight  = model.CTNWeight;//新增重量信息 2014年3月6日


                        ctn.CMS_HMNUM.SKU_HM_Relation.Select(r => r.CMS_SKU.CMS_Ecom_Sync ?? (r.CMS_SKU.CMS_Ecom_Sync = new CMS_Ecom_Sync
                        {
                            StatusID = 1//这里可以不用做任何设置,因为后面那个操作会全面覆盖这个...
                        })).ForEach(k =>
                        {
                            k.StatusID   = 0;
                            k.StatusDesc = "NeedSend";
                            k.UpdateBy   = userAccount;
                            k.UpdateOn   = DateTime.Now;
                        });

                        var entry = db.Entry(ctn);
                        BllExtention.DbRecorder(entry, new LogOfUserOperatingDetails
                        {
                            ModelName  = ModelName,
                            ActionName = MethodBase.GetCurrentMethod().Name,
                            ActionType = LogActionTypeEnum.Update.GetHashCode(),
                            ProductID  = ctn.ProductID,
                            HMNUM      = ctn.HMNUM,
                            CreateBy   = userAccount,
                            CreateOn   = DateTime.Now
                        });


                        ctn.UpdateOn = DateTime.Now;
                    }


                    retVal = db.SaveChanges();//如果上面的几个Value都没有改变,则返回的值还是0 2013年11月15日17:20:03
                }
                return(retVal > 0);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 编辑HM#基本信息,用于HMNUM Configuration页面
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userAccount"></param>
        /// <returns></returns>
        public bool EditHmBasicInfo(CMS_HMNUM_Model model, string userAccount)
        {
            using (var db = new PermaisuriCMSEntities())
            {
                var hmnum = db.CMS_HMNUM.FirstOrDefault(h => h.ProductID == model.ProductID);
                if (hmnum == null)
                {
                    return(db.SaveChanges() > 0);
                }
                hmnum.StockKey      = model.StockKey;
                hmnum.Comments      = model.Comments;
                hmnum.StatusID      = model.StatusID;
                hmnum.ShipViaTypeID = model.ShipViaTypeID;
                hmnum.NetWeight     = model.NetWeight;
                hmnum.SKU_HM_Relation.Select(r => r.CMS_SKU.CMS_Ecom_Sync ?? (r.CMS_SKU.CMS_Ecom_Sync = new CMS_Ecom_Sync
                {
                    StatusID = 1//这里可以不用做任何设置,因为后面那个操作会全面覆盖这个...
                })).ForEach(k =>
                {
                    k.StatusID   = 0;
                    k.StatusDesc = "NeedSend";
                    k.UpdateBy   = userAccount;
                    k.UpdateOn   = DateTime.Now;
                });

                var entry = db.Entry(hmnum);
                BllExtention.DbRecorder(entry, new LogOfUserOperatingDetails
                {
                    ModelName  = ModelName,
                    ActionName = MethodBase.GetCurrentMethod().Name,
                    ActionType = LogActionTypeEnum.Update.GetHashCode(),
                    ProductID  = hmnum.ProductID,
                    HMNUM      = hmnum.HMNUM,
                    CreateBy   = userAccount,
                    CreateOn   = DateTime.Now
                });

                hmnum.ModifyBy = userAccount;
                hmnum.ModifyOn = DateTime.Now;


                return(db.SaveChanges() > 0);
            }
        }
        /// <summary>
        /// 编辑HM#基本信息,用于HMNUM Configuration页面
        /// </summary>
        /// <param name="model"></param>
        /// <param name="User_Account"></param>
        /// <returns></returns>
        public bool EditHMBasicInfo(CMS_HMNUM_Model model, string User_Account)
        {
            using (PermaisuriCMSEntities db = new PermaisuriCMSEntities())
            {
                var HMNUM = db.CMS_HMNUM.FirstOrDefault(h => h.ProductID == model.ProductID);
                HMNUM.StockKey = model.StockKey;
                HMNUM.Comments = model.Comments;


                HMNUM.SKU_HM_Relation.Select(r => r.CMS_SKU.CMS_Ecom_Sync == null ? r.CMS_SKU.CMS_Ecom_Sync = new CMS_Ecom_Sync
                {
                    StatusID = 1//这里可以不用做任何设置,因为后面那个操作会全面覆盖这个...
                } : r.CMS_SKU.CMS_Ecom_Sync).ForEach(k =>
                {
                    k.StatusID   = 0;
                    k.StatusDesc = "NeedSend";
                    k.UpdateBy   = User_Account;
                    k.UpdateOn   = DateTime.Now;
                });


                var entry = db.Entry(HMNUM);
                BllExtention.DbRecorder(entry, new LogOfUserOperatingDetails
                {
                    ModelName  = Model_Name,
                    ActionName = MethodBase.GetCurrentMethod().Name,
                    ActionType = LogActionTypeEnum.Update.GetHashCode(),
                    ProductID  = HMNUM.ProductID,
                    HMNUM      = HMNUM.HMNUM,
                    CreateBy   = User_Account,
                    CreateOn   = DateTime.Now
                });

                HMNUM.ModifyBy = User_Account;
                HMNUM.ModifyOn = DateTime.Now;



                return(db.SaveChanges() > 0);
            }
        }