/// <summary> /// 赋予/撤销用户权限算法 /// </summary> /// <param name="role_guid">需要赋予当前用户什么权限</param> /// <param name="user_guid">当前用户唯一标识</param> /// <returns></returns> public bool UpdateRoleInUser(string[] role_guid, Guid user_guid) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { /*** * var tranny = DbContext.Database.Connection.BeginTransaction(); * tranny.Commit(); ***/ using (TransactionScope transaction = new TransactionScope()) { db.Database.ExecuteSqlCommand("delete from User_Role_Relation where User_Guid = @User_Guid", new SqlParameter("@User_Guid", user_guid)); foreach (string role_guids in role_guid) { var newRelation = new User_Role_Relation { Role_Guid = new Guid(role_guids), User_Guid = user_guid }; db.User_Role_Relation.Add(newRelation); } int retInt = db.SaveChanges(); transaction.Complete();// don't be miss,or the SQL statement will never be executed return(retInt > 0); } } }
public bool DeleteAllRoleByUser(Guid user_guid) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { return(db.Database.ExecuteSqlCommand("delete from User_Role_Relation where User_Guid = @User_Guid", new SqlParameter("@User_Guid", user_guid)) > 0); } }
public bool addMediaLibrary(MediaLibrary_Model c, string User_Account, out long newID) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var hm = db.CMS_HMNUM.FirstOrDefault(h => h.ProductID == c.ProductID); var ExistPImg = hm.CMS_StockKey.MediaLibrary.FirstOrDefault(r => r.PrimaryImage == true); MediaLibrary newMedia = new MediaLibrary { ProductID = c.ProductID, StockKeyID = hm.StockKeyID, HMNUM = c.HMNUM, SerialNum = c.SerialNum, ImgName = c.ImgName, MediaType = c.MediaType, fileFormat = c.fileFormat, fileSize = c.fileSize, fileWidth = c.fileWidth, fileHeight = c.fileHeight, Description = c.Description, CreateOn = DateTime.Now, CreateBy = User_Account, CloudStatusID = 1, PrimaryImage = ExistPImg == null ? true : false }; db.MediaLibrary.Add(newMedia); int eVal = db.SaveChanges(); newID = newMedia.MediaID; return(eVal > 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); } }
public List <MediaLibrary_Model> GetChannelMediaList(long SKUID) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { List <MediaLibrary_Model> list = new List <MediaLibrary_Model>(); var query = db.MediaLibrary.Where(c => c.SKU_Media_Relation.Any(r => r.SKUID == SKUID)).OrderByDescending(m => m.MediaID); foreach (MediaLibrary c in query) { list.Add(new MediaLibrary_Model { fileFormat = c.fileFormat, fileHeight = c.fileHeight.HasValue ? c.fileHeight.Value : 0, fileWidth = c.fileWidth.HasValue ? c.fileWidth.Value : 0, fileSize = c.fileSize, MediaID = c.MediaID, Description = c.Description, HMNUM = c.HMNUM, ImgName = c.ImgName, ProductID = c.ProductID, MediaType = c.MediaType, SerialNum = c.SerialNum }); } return(list); } }
public List <MediaLibrary_Model> GetImageListByProductID(long StockKeyID) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { //用AsEnumerable()方法,可以直接使用 c.CreateOn.ToString("yyyy-MM-dd HH:mm:ss")而不会报linQ错误 var query = db.MediaLibrary.Where(m => m.StockKeyID == StockKeyID).Include(r => r.SKU_Media_Relation).AsEnumerable(); return(query.Select(c => new MediaLibrary_Model { fileFormat = c.fileFormat, fileHeight = c.fileHeight.HasValue ? c.fileHeight.Value : 0, fileWidth = c.fileWidth.HasValue ? c.fileWidth.Value : 0, fileSize = c.fileSize, MediaID = c.MediaID, HMNUM = c.HMNUM, ImgName = c.ImgName, ProductID = c.ProductID, MediaType = c.MediaType, IsPrimaryImages = c.PrimaryImage.HasValue?c.PrimaryImage.Value:false, CloudStatusID = c.CloudStatusID, strCreateOn = c.CreateOn.ToString("yyyy-MM-dd HH:mm:ss"), CMS_SKU = c.SKU_Media_Relation.Where(k => k.MediaID == c.MediaID).Select(s => new CMS_SKU_Model { ChannelName = s.CMS_SKU.Channel.ChannelName, ProductName = s.CMS_SKU.ProductName, SKU = s.CMS_SKU.SKU }).ToList() }).ToList()); } }
/// <summary> /// Get All Menu List /// </summary> /// <returns></returns> public List <Menu_Resource_Model> GetMenuList(Menu_Resource_Model qModel, out int count) { List <Menu_Resource_Model> list = new List <Menu_Resource_Model>(); using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var query = db.Menu_Resource.AsQueryable(); if (!String.IsNullOrEmpty(qModel.name)) { query = query.Where(s => s.MenuName.Contains(qModel.name)); } count = query.Count(); query = query.OrderBy(s => s.SortNo).Skip((qModel.page - 1) * qModel.rows).Take(qModel.rows); foreach (var m in query) { list.Add(new Menu_Resource_Model { //icon = m.Icon, MenuID = m.MenuID, ParentMenuID = m.ParentMenuID, MenuUrl = m.MenuUrl, MR_ID = m.MR_ID, name = m.MenuName, MenuName = m.MenuName, SortNo = m.SortNo, Visible = m.Visible }); } return(list); } }
public List <Menu_Resource_Model> GetAllMenuList() { List <Menu_Resource_Model> list = new List <Menu_Resource_Model>(); using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { //var query = db.GetAllMenuList(); var query = db.Menu_Resource.AsEnumerable(); foreach (var m in query) { list.Add(new Menu_Resource_Model { //icon = m.Icon, iconSkin = m.Icon, MenuID = m.MenuID, ParentMenuID = m.ParentMenuID, MenuUrl = m.MenuUrl, MR_ID = m.MR_ID, name = m.MenuName, MenuName = m.MenuName, SortNo = m.SortNo, Visible = m.Visible }); } return(list); } }
public bool isExistMenu(int MR_ID) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var query = db.Menu_Resource.Where(a => a.MR_ID == MR_ID).FirstOrDefault(); return(query == null ? false : true); } }
public bool DeleteAllRoleByUser(Guid role_guid) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { return(db.Database.ExecuteSqlCommand("delete from Role_Menu_Relation where Role_GUID = @Role_GUID", new SqlParameter("@role_guid", role_guid)) > 0); } }
public bool AddChannel(Channel_Model model, string user, ref string msg) { using (var db = new PermaisuriCMSEntities()) { var isExist = db.Channel.FirstOrDefault(c => c.ChannelName == model.ChannelName); msg = string.Empty; if (isExist != null) { msg = "This item does exist"; return(false); } var newChannel = new Channel { ChannelName = model.ChannelName, ShortName = model.ShortName, Modifier = user, Modify_Date = DateTime.Now, API = model.API, Export2CSV = model.Export2CSV }; db.Channel.Add(newChannel); return(db.SaveChanges() > 0); } }
/// <summary> /// Get Role List by pager /// </summary> /// <returns></returns> public List <Security_Role_Model> GetRoleList(Security_Role_Model qModel, out int count) { List <Security_Role_Model> list = new List <Security_Role_Model>(); using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var query = db.Security_Role.AsQueryable(); if (!String.IsNullOrEmpty(qModel.Role_Name)) { query = query.Where(s => s.Role_Name.Contains(qModel.Role_Name)); } count = query.Count(); query = query.OrderByDescending(s => s.Created_On).Skip((qModel.page - 1) * qModel.rows).Take(qModel.rows); foreach (var r in query) { list.Add(new Security_Role_Model { Role_GUID = r.Role_GUID, Role_Name = r.Role_Name, Role_Desc = r.Role_Desc }); } return(list); } }
/// <summary> /// 2013年12月25日10:55:28 /// Change1:将原来自动删除该图像关联的SKU信息,改成查询判断如果存在关联信息,则不自动删除,返回报错信息给前端 。 2014年5月15日11:29:15 /// </summary> /// <param name="MediaID"></param> /// <returns></returns> public bool DeleteCMSMedia(long MediaID, out string errMsg) { errMsg = string.Empty; using (var db = new PermaisuriCMSEntities()) { ////这样做的好处在于能直接删除一个对象,而不需要先从数据库中提取数据,创建实体对象,再查找并删除之,从而能有效地提升效率 //MediaLibrary media = new MediaLibrary { MediaID = MediaID }; //db.Set<MediaLibrary>().Attach(media); //db.MediaLibrary.Remove(media); //return db.SaveChanges() > 0; //var query = db.MediaLibrary.Include(s=>s.SKU_Media_Relation).FirstOrDefault(s => s.MediaID == MediaID); //db.MediaLibrary.Remove(query); //return db.SaveChanges() > 0; var query = db.MediaLibrary.FirstOrDefault(s => s.MediaID == MediaID); if (query != null && query.SKU_Media_Relation.Count > 0) { errMsg = "This item can no be delete, because some skus have been associated with it."; return(false); } db.MediaLibrary.Remove(query); /*以下方法是用于删除图像的时候,自动删除所关联的信息,如果不删除,将会引发打开数据异常!*/ //db.Entry(query).Collection(m => m.SKU_Media_Relation).Load(); //db.MediaLibrary.Remove(query); return(db.SaveChanges() > 0); } }
public bool EditShipVia(CMS_ShipVia_Model shipViaModel, User_Profile_Model userModel, out string msg) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { msg = string.Empty; var query = db.CMS_ShipVia.FirstOrDefault(s => s.SHIPVIAID == shipViaModel.SHIPVIAID); if (query == null) { msg = string.Format("The name of {0} does not exist", shipViaModel.SHIPVIA); return(false); } //如果客户端请求讲当前SHIPVIA作为默认的项目传送给eCom,则需要单独处理 if (shipViaModel.IsDefaultShipVia == true) { db.CMS_ShipVia.Where(s => s.ShipViaTypeID == shipViaModel.ShipViaTypeID).Update(s => new CMS_ShipVia { IsDefaultShipVia = false }); } //query.SHIPVIA = shipViaModel.SHIPVIA; query.ShipViaTypeID = shipViaModel.ShipViaTypeID; query.ExpressMethod = shipViaModel.ExpressMethod; query.ExpressNumLength = shipViaModel.ExpressNumLength; query.IsDefaultShipVia = shipViaModel.IsDefaultShipVia; query.CarrierCode = shipViaModel.CarrierCode; query.CarrierRouting = shipViaModel.CarrierRouting; query.ExpressRule = shipViaModel.ExpressRule; query.UpdateBy = userModel.User_Account; query.UpdateOn = DateTime.Now; return(db.SaveChanges() > 0); } }
/// <summary> /// 2014年4月11日17:59:38 /// </summary> public void DoUpload() { //CloudUpload upload = new CloudUpload(); //upload.UploadDirectory("D:/ProjectFiles/Permaisuri/Permaisuri/Permaisuri/MediaLib/Files/9043.01", "9043.01"); //var dirs = new DirectoryInfo(Server.MapPath(ConfigurationManager.AppSettings["ImageStoragePath"])) // .GetDirectories(); //Parallel.ForEach(dirs,(r,loopstats)=>{ // CloudUpload upload = new CloudUpload(); // upload.UploadDirectory(r.FullName, r.Name); //}); //S1:从HMNUM表里面查询哪些HMNUM还未在云端上建立文件夹的,则提取出来,直接整个文件上传 //S2:从MediaLibrary表中查询哪些CloudStatusID不为4的,全部重新上传 using (var db = new PermaisuriCMSEntities()) { var needFolderUploadList = db.CMS_HMNUM.Where(h => h.IsCloud != true && h.CMS_StockKey.MediaLibrary.Count > 0).Take(3); //Parallel.ForEach(needFolderUploadList, (r, loopstatus) => //{ // UploadDirectory(ImageStoragePath, r.HMNUM); //}); Parallel.ForEach(needFolderUploadList, (r, loopstatus) => UploadDirectory(_imageStoragePath, r.HMNUM)); //由于两个Parallel都是异步执行,所以这里单个上传需要过滤,只上传已经失败和未上传的那些图像,同时云端已经包含了这些文件夹(标识曾经上传过) var singelUploadList = db.MediaLibrary.Where(m => m.CMS_StockKey.CMS_HMNUM.Any(r => r.IsCloud == true)) .Where(m => m.CloudStatusID != 4).Where(m => m.CloudStatusID != 2).Take(10); Parallel.ForEach(singelUploadList, (r, loopstatus) => UploadFile(_imageStoragePath + "/" + r.HMNUM + "/" + r.ImgName + r.fileFormat, r.HMNUM, r.ImgName + r.fileFormat, r.MediaID)); } }
/// <summary> /// 通过ID获取当个HMNUM的信息,方法只要包含了当前HMNUM在WEBPO对应的图像的信息。主要给AddMedia页面调用。 /// Created:2014年1月24日15:30:55. /// </summary> /// <param name="ProductID"></param> /// <returns></returns> public CMS_HMNUM_Model GetSingleHMNUMByID(long ProductID) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var p = db.CMS_HMNUM.FirstOrDefault(c => c.ProductID == ProductID); if (p == null) { return(null); } var img = db.WebPO_ImageUrls_V.FirstOrDefault(v => v.HMNUM == p.HMNUM && !String.IsNullOrEmpty(v.SmallPic) && !String.IsNullOrEmpty(v.Pic)); String webPoUrl = ConfigurationManager.AppSettings["WebPOProductImageUrl"]; String webpoRelStr = "../../../";//替换掉webPO数据库提取出来的路径前缀 var newHMNUM = new CMS_HMNUM_Model { ProductID = p.ProductID, HMNUM = p.HMNUM, ProductName = p.ProductName, StockKey = p.StockKey, StockKeyQTY = p.CMS_HM_Inventory.StockkeyQTY.ConvertToNotNull(), // 库存 2013年11月24日18:17:06 MaxImaSeq = p.CMS_StockKey.MediaLibrary.FirstOrDefault() == null ? 0 : p.CMS_StockKey.MediaLibrary.OrderByDescending(r => r.SerialNum).FirstOrDefault().SerialNum, webSystemImage = img == null ? null : new OtherSystemImages { SmallPic = webPoUrl + img.SmallPic.Replace(webpoRelStr, ""), Pic = webPoUrl + img.Pic.Replace(webpoRelStr, ""), SystemName = "WebPO System" } }; return(newHMNUM); } }
public List <LogOfUserLogin_Model> GetLoginInfoList(LogOfUserLogin_Model qModel, out int count) { var list = new List <LogOfUserLogin_Model>(); using (var db = new PermaisuriCMSEntities()) { var query = db.LogOfUserLogin.AsEnumerable(); count = query.Count(); query = query.OrderByDescending(l => l.ID).Skip((qModel.page - 1) * qModel.rows).Take(qModel.rows); list.AddRange(query.Select(log => new LogOfUserLogin_Model { ID = log.ID, User_Account = log.User_Account, Display_Name = log.Display_Name, Logging_Date = log.Logging_Date, Logging_IP = log.Logging_IP, Logging_Location = log.Logging_Location, LoggingStatue = log.LoggingStatue, Machine_Name = log.Machine_Name, LoggingDate = log.Logging_Date.ToString("yyyy-MM-dd HH:mm:ss"), Remark = log.Remark })); return(list); } }
/// <summary> /// 获取Ecom订单的记录,原先由视图获取,但是视图无法按照条件过滤,所以这里改用StoreProcedure来过滤 /// 如果在服务器适应符合HightCharts格式的数据,需要双循环,所以服务器给出基础数据,由客户端自己去格式化.......2013年12月18日12:06:39 /// CreateDate:2013年12月17日16:52:42 /// </summary> /// <param name="channelList"></param> /// <param name="sTime">开始时间</param> /// <param name="eTime">结束时间</param> /// <returns></returns> public List <Ecom_Order_SP_Model> GetEcomOrder(Int32[] channelList, String sTime, String eTime) { var list = new List <Ecom_Order_SP_Model>(); using (var db = new PermaisuriCMSEntities()) { ////var ecomOrder = db.Ecom_Order_SP(arrChannel.TrimEnd(','), sTime, eTime).ToList(); 加了in语句反而变慢了很多,所以取消掉 在EF内存里面做过滤 2013年12月20日10:05:17 //var orderCache = CacheHelper.Get<List<Ecom_Order_SP_Model>>(orderCacheKey); //if (orderCache==null) //{ // CacheHelper.Insert(orderCacheKey, db.Ecom_Order_SP("2001-01-01", "2015-12-31").AsEnumerable(), null); // CacheHelper.SaveTime = 30; // orderCache = CacheHelper.Get<List<Ecom_Order_SP_Model>>(orderCacheKey); //} ////var ecomOrder = db.Ecom_Order_SP(sTime, eTime).ToList(); //var ecomOrder = orderCache.Where(r=>r.); //var ecomOrder = db.Ecom_Order_SP(arrChannel.TrimEnd(','), sTime, eTime).ToList(); 加了in语句反而变慢了很多,所以取消掉 在EF内存里面做过滤 2013年12月20日10:05:17 var ecomOrder = db.Ecom_Order_SP(sTime, eTime).ToList(); if (channelList.Length > 0) { ecomOrder = ecomOrder.Where(o => channelList.Contains(o.ChannelID)).ToList(); } list.AddRange(ecomOrder.Select(po => new Ecom_Order_SP_Model { name = po.MerchantID, //x = (new DateTime(po.OrderYear, po.OrderMonth, 1).ToUniversalTime().Ticks-DatetimeMinTimeTicks)/1000, x = new DateTime(po.OrderYear, po.OrderMonth, 1), y = po.Orders.ConvertToNotNull() })); } return(list); }
/// <summary> /// 更新当前用户对于的Channel信息,用户User Management模块的Channel Setting /// Author:Lee Date:2013年11月1日18:06:15 /// </summary> /// <param name="userGuid"></param> /// <param name="ArrChannels"></param> /// <returns></returns> public bool UpdateUserChannel(Guid userGuid, IEnumerable <int> ArrChannels) { using (var db = new PermaisuriCMSEntities()) { using (var transaction = new TransactionScope()) { db.Database.ExecuteSqlCommand("delete from User_Channel_Relation where User_Guid = @User_Guid", new SqlParameter("@User_Guid", userGuid)); //User_Channel_Relation relation = new User_Channel_Relation { User_Guid = User_Guid }; //db.Set<User_Channel_Relation>().Attach(relation); //db.User_Channel_Relation.Remove(relation);这种方法没有数据的时候会报错 if (ArrChannels != null) { foreach (var mediaId in ArrChannels) { db.User_Channel_Relation.Add(new User_Channel_Relation { User_Guid = userGuid, ChannelID = mediaId }); } } var retInt = db.SaveChanges(); transaction.Complete(); // don't be miss,or the SQL statement will never be executed return(retInt > 0); } } }
/// <summary> /// 算法:根据组合产品的ProductID和SKUID唯一确定一条记录,删除再插入。删除插入一并做,会大大简化程序和客户端的各种判断。 /// CreateDate: 2013年11月19日11:43:22 /// </summary> /// <param name="rModel"></param> /// <param name="User_Account"></param> /// <returns>如果新增成功,返回新的ID</returns> public Boolean AddNewHM4SKU(SKU_HM_Relation_Model rModel, String User_Account) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var query = db.SKU_HM_Relation.FirstOrDefault(r => r.SKUID == rModel.SKUID); if (query == null) { var newModel = new SKU_HM_Relation { ProductID = rModel.ProductID, SKUID = rModel.SKUID, R_QTY = rModel.R_QTY, StockKeyID = rModel.StockKeyID, CreateBy = User_Account, CreateOn = DateTime.Now, UpdateBy = User_Account, UpdateOn = DateTime.Now }; db.SKU_HM_Relation.Add(newModel); } else { query.StockKeyID = rModel.StockKeyID; query.R_QTY = rModel.R_QTY; query.ProductID = rModel.ProductID; query.UpdateBy = User_Account; query.UpdateOn = DateTime.Now; } return(db.SaveChanges() > 0); } }
/// <summary> /// 更新HMNUMCosting的信息,用于HMNUM Management页面的的inline-edit的编辑更新 /// 需要注意的是每一次的跟新都将在库表新增一条价格信息,影响将来报表的生成。 /// CreateDate:2013年11月13日6:00:34 /// </summary> /// <param name="model"></param> /// <param name="costing"></param> /// <returns></returns> public bool EditHMNUMCosting(CMS_HMNUM_Model model, CMS_HM_Costing_Model costing, string User_Account) { //逻辑:先讲当前最新的价格插入到Costing表(注意是新增不是编辑),然后更新当前HMNUM的Costing信息,取最新的那条。 //EF本身自带有Transaction功能。 using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { int retVal = 0; var newCosting = new CMS_HM_Costing { CreateBy = User_Account, CreateOn = DateTime.Now, EffectiveDate = DateTime.Now, HMNUM = costing.HMNUM, FirstCost = Convert.ToDecimal(costing.FirstCost), LandedCost = Convert.ToDecimal(costing.LandedCost), EstimateFreight = Convert.ToDecimal(costing.EstimateFreight), OceanFreight = Convert.ToDecimal(costing.OceanFreight), USAHandlingCharge = Convert.ToDecimal(costing.USAHandlingCharge), Drayage = Convert.ToDecimal(costing.Drayage), }; db.CMS_HM_Costing.Add(newCosting); long newCostID = newCosting.HMCostID; var HMNUM = db.CMS_HMNUM.FirstOrDefault(h => h.ProductID == model.ProductID); HMNUM.HMCostID = newCostID; retVal = db.SaveChanges(); newCosting.HisProductID = HMNUM.ProductID; retVal = db.SaveChanges(); return(retVal > 0); } }
public bool AddBrand(Brands_Info_Model model, string user, ref string msg) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var isExist = db.Brand.FirstOrDefault(c => c.BrandName == model.Brand_Name); msg = string.Empty; if (isExist != null) { msg = "This item does exist"; return(false); } var newBrand = new Brand { BrandName = model.Brand_Name, ShortName = model.Short_Name, Modifier = user, Modifier_Date = DateTime.Now, Active = model.Active }; db.Brand.Add(newBrand); return(db.SaveChanges() > 0); } }
/// <summary> /// 检查HMNUM是否存在,用户添加HMNUM,SKU和Product Configuration页面Autocompleted做校验。 /// CreateDate:2014年2月18日10:41:08 /// </summary> /// <param name="hmnum"></param> /// <returns></returns> public CMS_HMNUM_Model CheckHmnum(string hmnum) { using (var db = new PermaisuriCMSEntities()) { var hm = db.CMS_HMNUM.FirstOrDefault(h => h.HMNUM == hmnum); if (hm == null) { return(null); } var img = db.WebPO_ImageUrls_V.FirstOrDefault(v => v.HMNUM == hmnum); return(new CMS_HMNUM_Model { ProductID = hm.ProductID, MasterPack = hm.MasterPack, HMNUM = hm.HMNUM, ProductName = hm.ProductName, StockKey = hm.StockKey, StockKeyID = hm.StockKeyID, StatusID = hm.StatusID, StockKeyQTY = hm.CMS_HM_Inventory.StockkeyQTY.ConvertToNotNull(), strMasterPack = hm.MasterPack.ToString(), MaxImaSeq = hm.CMS_StockKey.MediaLibrary.FirstOrDefault() == null ? 0 : hm.CMS_StockKey.MediaLibrary.OrderByDescending(r => r.SerialNum).FirstOrDefault().SerialNum, webSystemImage = img == null ? null : new OtherSystemImages { SmallPic = _webPoUrl + img.SmallPic.Replace(WebpoRelStr, ""), Pic = _webPoUrl + img.Pic.Replace(WebpoRelStr, ""), SystemName = "WebPO System" } }); } }
/// <summary> /// 获取所有渠道列表,由于增加了用户和渠道关展示的功能,所以新增了2个参数做判断 /// </summary> /// <param name="isControl">判断当前用户是否有和渠道做了关联</param> /// <param name="userGuid">当前用户的GUID</param> /// <returns></returns> public List <Channel_Model> GetAllChannels(bool isControl, Guid userGuid) { var list = new List <Channel_Model>(); using (var db = new PermaisuriCMSEntities()) { var query = db.Channel.AsQueryable(); if (isControl) { /*神奇的是这里不用Include就可以直接查询出来,我猜是因为foreqch的时候没有去延迟查询relation表里面的User_Prfoile数据 * 2013年11月4日10:52:16 Lee * SELECT * FROM [dbo].[Channel] AS [Extent1] WHERE EXISTS (SELECT 1 AS [C1] * FROM [dbo].[User_Channel_Relation] AS [Extent2] WHERE ([Extent1].[ChannelID] = [Extent2].[ChannelID]) * AND ([Extent2].[User_Guid] = '6E421787-30AF-443B-950A-17081EE5F218'))*/ query = query.Where(q => q.User_Channel_Relation.Any(r => r.User_Guid == userGuid)); } //query.OrderBy(c => c.ChannelName); 这样写无效... query = query.OrderBy(c => c.ChannelName); list.AddRange(query.Select(c => new Channel_Model { API = c.API, ChannelID = c.ChannelID, ChannelName = c.ChannelName, Export2CSV = c.Export2CSV, ShortName = c.ShortName })); return(list); } }
public bool DeleteShipVia(CMS_ShipVia_Model shipViaModel, User_Profile_Model userModel, out string msg) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { msg = string.Empty; var isDefault = false; var query = db.CMS_ShipVia.FirstOrDefault(s => s.SHIPVIAID == shipViaModel.SHIPVIAID); if (query == null) { msg = string.Format("The name of {0} does not exist", shipViaModel.SHIPVIA); return(false); } //如果客户端请求讲当前SHIPVIA作为默认的项目传送给eCom,则需要单独处理 isDefault = query.IsDefaultShipVia; db.CMS_ShipVia.Remove(query); if (isDefault) { var randomSV = db.CMS_ShipVia.Where(s => s.SHIPVIAID != shipViaModel.SHIPVIAID && s.ShipViaTypeID == query.ShipViaTypeID) .OrderByDescending(r => r.SHIPVIAID).FirstOrDefault(); if (randomSV != null) { randomSV.IsDefaultShipVia = true; } } return(db.SaveChanges() > 0); } }
/// <summary> /// 根据传递进来的ProductID,到组合产品关系表里面查询出该组合产品旗下所有的子产品的ID, /// 这个方法用于创建组合产品的时候,下拉单查询列表里,排除掉那些已经被选中的HMNUM,防止重复选择。 /// CreatedDate:2014年3月18日10:57:03 /// </summary> /// <param name="ParentProductID"></param> /// <returns></returns> public List <long> GetChildrenProductID(long ParentProductID) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { return(db.CMS_HMGroup_Relation.Where(g => g.ProductID == ParentProductID) .Select(r => r.ChildrenProductID).ToList()); } }
public bool IsExistUser(String role_Name) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { var query = db.Security_Role.Where(o => o.Role_Name == role_Name).FirstOrDefault(); return(query == null ? false : true); } }
/// <summary> /// /// </summary> /// <param name="ctnModel"></param> /// <param name="userAccount"></param> /// <param name="ctnid"></param> /// <returns></returns> public bool AddHmCarton(CMS_ProductCTN_Model ctnModel, string userAccount, out long ctnid) { using (var db = new PermaisuriCMSEntities()) { var hmnum = db.CMS_HMNUM.FirstOrDefault(h => h.ProductID == ctnModel.ProductID); if (hmnum == null) { ctnid = 0; return(false); } var newModel = new CMS_ProductCTN { CTNComment = ctnModel.CTNComment, CTNCube = ctnModel.CTNCube, CTNHeight = ctnModel.CTNHeight, CTNLength = ctnModel.CTNLength, CTNTitle = ctnModel.CTNTitle, CTNWidth = ctnModel.CTNWidth, HMNUM = ctnModel.HMNUM, ProductID = ctnModel.ProductID, UpdateBy = userAccount, UpdateOn = DateTime.Now, CreateOn = DateTime.Now, CTNWeight = ctnModel.CTNWeight }; db.CMS_ProductCTN.Add(newModel); 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; }); BllExtention.DbRecorder(new LogOfUserOperatingDetails { ModelName = ModelName, ActionName = MethodBase.GetCurrentMethod().Name, ActionType = LogActionTypeEnum.Inert.GetHashCode(), ProductID = hmnum.ProductID, HMNUM = hmnum.HMNUM, Descriptions = "Add new carton [ <b>" + newModel.CTNTitle + " </b>] for " + hmnum.HMNUM, CreateBy = userAccount, CreateOn = DateTime.Now }); var retVal = db.SaveChanges(); ctnid = newModel.CTNID; return(retVal > 0); } }
/// <summary> /// 通过MediaID来一项项的更新当前图片的云端ID 2014年4月12日 /// </summary> /// <param name="mediaId"></param> /// <param name="cloudStatus">1:Not yet upload ; 2:uploading; 3:fail to upload; 4:cloud supported</param> public void UploadingCloudStatusByMediaID(long mediaId, int cloudStatus) { using (var db = new PermaisuriCMSEntities()) { db.MediaLibrary.Where(m => m.MediaID == mediaId).Update(u => new MediaLibrary { CloudStatusID = cloudStatus }); } }
public decimal GetAvgOrderAmount(string startDate, string endDate) { using (var db = new PermaisuriCMSEntities()) { //注意,第一个输出参数的名称必须与Store Procedure里面的输出参数的名称一一对应!不区分大小写 var retVal = db.Ecom_AvgOrderAmount_SP(startDate, endDate); return(retVal.First().AvgOrderAmount.ConvertToNotNull()); } }