public virtual ActionResult UpdataCatalog(string[] id, string catalogId) { var result = new Dictionary <string, object>(); var rev = false; if (id != null) { var infos = new List <CommodityEntity>(); foreach (var i in id) { var info = new CommodityEntity { Id = i.Convert <long>(), Catalog = new CatalogEntity { Id = catalogId.Convert <long>() }, SaveType = SaveType.Modify }; info.SetProperty(it => it.Catalog.Id); infos.Add(info); } rev = this.SaveEntities(infos); } result.Add("Status", rev); return(this.Jsonp(result)); }
/// <summary> /// 得到产品图片 /// </summary> /// <param name="commodity"></param> /// <returns></returns> public virtual string GetCommodityFileName(CommodityEntity commodity) { if (commodity == null) { return(""); } return(string.IsNullOrEmpty(commodity.AlbumFileName) ? commodity.FullFileName : commodity.AlbumFullFileName); }
/// <summary> /// 得到文件名 /// </summary> /// <returns></returns> public virtual string GetFullFileName(CommodityEntity commodity) { if (!string.IsNullOrEmpty(commodity.Password)) { return("/Images/lock.png"); } return(string.Format("{0}?v={1}", commodity.GetFullFileName(commodity.FileName, "l"), DateTime.Now.Ticks)); }
/// <summary> /// 得到文件名 /// </summary> /// <returns></returns> public virtual string GetFullFileName(CommodityEntity commodity) { if (!string.IsNullOrEmpty(commodity.Password)) { return(string.Format("{0}/Images/lock.png", Configuration.ConfigurationManager.GetSetting <string>("CloudSiteMobileUrl"))); } return(string.Format("{0}?v={1}", commodity.GetFullFileName(commodity.FileName, "i"), DateTime.Now.Ticks)); }
/// <summary> /// 填充图片 /// </summary> /// <param name="entity"></param> /// <param name="dataTags"></param> protected virtual void FillTags(CommodityEntity entity, IList <CommodityTagEntity> dataTags) { entity.CommodityTags = new List <CommodityTagEntity>(); if (Tags != null) { foreach (var tag in Tags) { var data = dataTags?.FirstOrDefault(it => it.Tag != null && it.Tag.Id == tag.Id.Convert <long>()); if (data == null) { entity.CommodityTags.Add(new CommodityTagEntity { Id = 0, Tag = new TagEntity { Id = tag.Id.Convert <long>() }, Commodity = entity, SaveType = SaveType.Add }); } } } if (dataTags != null) { foreach (var dataTag in dataTags) { if (dataTag.Tag == null) { continue; } var data = Tags?.FirstOrDefault(it => dataTag.Tag.Id == it.Id.Convert <long>()); if (data == null) { entity.CommodityTags.Add(new CommodityTagEntity { Id = dataTag.Id, SaveType = SaveType.Remove }); } } } }
public virtual ActionResult Remove(string[] id) { var result = new Dictionary <string, object>(); var rev = false; if (id != null) { var infos = new List <CommodityEntity>(); foreach (var i in id) { var info = new CommodityEntity { Id = i.Convert <long>(), SaveType = SaveType.Remove }; infos.Add(info); } rev = this.SaveEntities(infos); } result.Add("Status", rev); return(this.Jsonp(result)); }
/// <summary> /// 打印服装版商品标签 /// </summary> /// <param name="commodityEntity"></param> /// <param name="number"></param> private void SendGarmentLabel(CommodityEntity commodityEntity, int number) { byte[] enddata = { 0x0a };//换行 List <string> s = new List <string>(); s.Add("SIZE 40 mm,30 mm"); s.Add("GAP 2 mm,0 mm");//TODO... s.Add("DIRECTION 0"); s.Add("REFERENCE 0,0"); s.Add("SET TEAR ON"); s.Add("CLS"); s.Add("TEXT 80,20,\"TSS24.BF2\",0,1,1,\"" + commodityEntity.commodityname + "\""); s.Add("TEXT 40,70,\"TSS24.BF2\",0,1,1,\"" + "颜色:" + commodityEntity.color + "\""); s.Add("TEXT 40,100,\"TSS24.BF2\",0,1,1,\"" + "尺码:" + commodityEntity.size + "\""); s.Add("TEXT 40,130,\"TSS24.BF2\",0,1,1,\"" + "零售价:" + commodityEntity.saleprice + "\""); //s.Add("TEXT 280,100,\"TSS24.BF2\",0,2,2,\"" + commodityEntity.saleprice + "\""); //s.Add("TEXT 10,130,\"TSS24.BF2\",0,1,1,\"" + "条码 " + "\""); if (!string.IsNullOrEmpty(commodityEntity.barcode)) { s.Add("BARCODE 40,160,\"128M\",40,1,0,1,1,\"" + commodityEntity.barcode + "\""); } //s.Add(" PRINT " + number); s.Add(" PRINT " + GPrinterManager.Instance.PrintNumber); s.Add("SOUND 2,100"); foreach (var item in s) { if (!string.IsNullOrEmpty(item)) { byte[] strb = Encoding.Default.GetBytes(item); SendData_Printer(strb); SendData_Printer(enddata); } } }
public virtual ActionResult UpdateImage(string fileName, string fileValue) { var fileroute = Winner.Creator.Get <Winner.Storage.IFile>(); fileName = string.Format("Files/Temp/{0}", fileName); fileName = fileroute.CreateFileName(fileName); var fileByte = Convert.FromBase64String(fileValue); var rev = true; var product = new CommodityEntity { FileByte = fileByte, FileName = fileName }; var mess = product.FullFileName; var errors = Winner.Creator.Get <IValidation>() .ValidateInfo(product, ValidationType.Modify, new List <string> { "FileName", "FileByte" }); if (errors != null && errors.Count > 0) { rev = false; mess = errors[0].Message; } else { Ioc.Resolve <IFileApplicationService>().Save(fileName, fileByte); } var result = new Dictionary <string, object> { { "Status", rev }, { "Message", mess } }; return(this.Jsonp(result)); }
private void SendBLineLabel(CommodityEntity commodityEntity, int number) { byte[] enddata = { 0x0a };//换行 List <string> s = new List <string>(); s.Add("SIZE 80 mm,35 mm"); s.Add("BLINE 32 mm,0 mm"); s.Add("DIRECTION 1"); s.Add("REFERENCE 0,0"); s.Add("SET TEAR ON"); s.Add("CLS"); s.Add("TEXT 80,60,\"TSS24.BF2\",0,1,2,\"" + commodityEntity.commodityname + "\""); s.Add("TEXT 80,130,\"TSS24.BF2\",0,1,1,\"" + commodityEntity.commoditycode + "\""); s.Add("TEXT 300,130,\"TSS24.BF2\",0,1,1,\"" + commodityEntity.unitname + "\""); s.Add("TEXT 80,180,\"TSS24.BF2\",0,1,1,\"" + commodityEntity.spec + "\""); s.Add("TEXT 480,180,\"TSS24.BF2\",0,2,2,\"" + commodityEntity.saleprice + "\""); if (!string.IsNullOrEmpty(commodityEntity.barcode)) { s.Add("BARCODE 150,220,\"128M\",40,1,0,2,2,\"" + commodityEntity.barcode + "\""); } //s.Add(" PRINT " + number); s.Add(" PRINT " + BJQPrinterManager.Instance.PrintNumber); s.Add("SOUND 2,100"); foreach (var item in s) { if (!string.IsNullOrEmpty(item)) { byte[] strb = Encoding.Default.GetBytes(item); SendData_Printer(strb); SendData_Printer(enddata); } } }
/// <summary> /// 创建商品 /// </summary> /// <param name="directory"></param> /// <param name="category"></param> /// <returns></returns> protected virtual void CreateCommodity(DirectoryInfo directory, CatalogEntity category) { if (directory == null || !directory.Exists) { return; } var files = directory.GetFiles() .Where(it => it.Name.ToLower().EndsWith(".jpg") || it.Name.ToLower().EndsWith(".png") || it.Name.ToLower().EndsWith(".gif")) .OrderBy(it => it.Name.Replace(Path.GetExtension(it.Name), "").Convert <int>()).ToArray(); var dataInfos = GetCommodities(category.Id); for (int j = 0; j < files.Length; j++) { var index = files[j].Name.IndexOf("."); if (index <= -1) { continue; } var names = files[j].Name.Substring(0, index).Split('|'); var commodity = dataInfos.FirstOrDefault(it => it.Name == names[0]); var selectText = comboBox1.SelectedItem.Convert <string>(); if (commodity == null && selectText == "目录图片") { continue; } var fileName = string.Format("Files/Images/{0}/copy{1}", selectText == "目录图片"? "SiteAlbum": "SiteCommodity", Path.GetExtension(files[j].Name)); if (commodity == null) { commodity = new CommodityEntity { Catalog = category, Name = names[0], Description = names.Length > 1 ? names[1] : "", Cost = 0, Price = 0, IsShowPrice = false, Status = CommodityStatusType.Normal, VenderAddress = "", VenderMobile = "", VenderName = "", VenderLinkman = "", Password = "", Site = new SiteEntity { Id = SiteId }, Sequence = CommoditySequence, FileName = "", AlbumFileName = "", IsCreateAlbum = true, SaveType = SaveType.Add }; if (selectText == "目录图片") { commodity.AlbumFileName = fileName; } else { commodity.FileName = fileName; } } else { if (selectText == "目录图片") { commodity.AlbumFileName = fileName; commodity.SetProperty(it => it.AlbumFileName); } else { commodity.FileName = fileName; commodity.SetProperty(it => it.FileName); } commodity.SaveType = SaveType.Modify; } var bt = ImageHelper.Create(files[j].FullName, 800, 800, Color.White, 0); ImageHelper.Save(files[j].FullName, bt); if (selectText == "目录图片") { commodity.AlbumFileByte = GetFileByte(files[j].FullName); } else { commodity.FileByte = GetFileByte(files[j].FullName); } CommoditySequence = CommoditySequence + 5000 > 100000000 ? 100000000 + 1 : CommoditySequence + 5000; var rev = Ioc.Resolve <IApplicationService, CommodityEntity>().Save(commodity); if (rev) { files[j].Delete(); } else { dataGridView1.Rows.Add(new object[] { directory.FullName, commodity.Errors?.FirstOrDefault()?.Message }); } } }
/// <summary> /// 填充图片 /// </summary> /// <param name="entity"></param> /// <param name="saveType"></param> /// <param name="dataImages"></param> protected virtual void FillImages(CommodityEntity entity, SaveType saveType, IList <CommodityImageEntity> dataImages) { if (Images == null) { return; } entity.CommodityImages = new List <CommodityImageEntity>(); var i = 0; if (saveType == SaveType.Add) { foreach (var image in Images) { i++; if (string.IsNullOrEmpty(image.FileName)) { continue; } entity.CommodityImages.Add(new CommodityImageEntity { Id = 0, Commodity = entity, FileName = string.Format("Files/Images/SiteImage/copy{0}", Path.GetExtension(image.FileName)), FileByte = Ioc.Resolve <IFileApplicationService>() .Grab(image.FileName.Substring(image.FileName.IndexOf("/Files"))), Sequence = i, SaveType = SaveType.Add }); } return; } if (dataImages != null) { foreach (var dataImage in dataImages) { var img = Images.FirstOrDefault(it => it.Id == dataImage.Id.ToString()); if (img == null) { entity.CommodityImages.Add(new CommodityImageEntity { Id = dataImage.Id, SaveType = SaveType.Remove }); } } foreach (var image in Images) { i++; var id = image.Id.Convert <long>(); if (id == 0 && string.IsNullOrEmpty(image.FileName)) { continue; } var commdityImage = new CommodityImageEntity { Id = id, Commodity = entity, Sequence = i, SaveType = dataImages.FirstOrDefault(it => it.Id == id) == null ? SaveType.Add : SaveType.Modify }; entity.CommodityImages.Add(commdityImage); if (!string.IsNullOrEmpty(image.FileName)) { commdityImage.FileName = string.Format("Files/Images/SiteImage/copy{0}", Path.GetExtension(image.FileName)); commdityImage.FileByte = Ioc.Resolve <IFileApplicationService>() .Grab(image.FileName.Substring(image.FileName.IndexOf("/Files"))); } else if (commdityImage.SaveType == SaveType.Modify) { commdityImage.SetProperty(it => it.Sequence); } } return; } foreach (var image in Images) { i++; if (string.IsNullOrEmpty(image.FileName)) { continue; } entity.CommodityImages.Add(new CommodityImageEntity { Id = 0, Commodity = entity, FileName = string.Format("Files/Images/SiteImage/copy{0}", Path.GetExtension(image.FileName)), FileByte = Ioc.Resolve <IFileApplicationService>() .Grab(image.FileName.Substring(image.FileName.IndexOf("/Files"))), Sequence = i, SaveType = SaveType.Add }); } }
/// <summary> /// 创建实体 /// </summary> /// <param name="saveType"></param> /// <param name="dataImages"></param> /// <param name="dataTags"></param> /// <returns></returns> public virtual CommodityEntity CreateEntity(SaveType saveType, IList <CommodityImageEntity> dataImages, IList <CommodityTagEntity> dataTags) { if (!string.IsNullOrEmpty(ImagesValue)) { Images = ImagesValue.DeserializeJson <List <CommodityImageModel> >(); } if (!string.IsNullOrEmpty(TagsValue)) { Tags = TagsValue.DeserializeJson <List <CommodityTagModel> >(); } var entity = new CommodityEntity { Name = Name, Catalog = new CatalogEntity { Id = string.IsNullOrEmpty(CatalogId) ? 0 : CatalogId.Convert <long>() }, Sequence = Sequence == null ? 1 : Sequence.Value, Cost = Cost == null ? 0 : Cost.Value, Price = Price == null ? 0 : Price.Value, VenderName = string.IsNullOrWhiteSpace(VenderName) ? "": VenderName, VenderLinkman = string.IsNullOrWhiteSpace(VenderLinkman) ? "" : VenderLinkman, VenderMobile = string.IsNullOrWhiteSpace(VenderMobile) ? "" : VenderMobile, VenderAddress = string.IsNullOrWhiteSpace(VenderAddress) ? "" : VenderAddress, Description = string.IsNullOrWhiteSpace(Description) ? "" : Description, FileName = string.IsNullOrWhiteSpace(FileName) ? "" : FileName, Password = string.IsNullOrWhiteSpace(Password) ? "" : Password, IsShowPrice = IsShowPrice.HasValue ? IsShowPrice.Value : true, IsCreateAlbum = IsCreateAlbum.HasValue ? IsCreateAlbum.Value : true, Status = Status.HasValue?Status.Value:CommodityStatusType.Normal, SaveType = saveType }; FillImages(entity, saveType, dataImages); FillTags(entity, dataTags); if (!string.IsNullOrEmpty(FileName)) { entity.FileByte = Ioc.Resolve <IFileApplicationService>().Grab(FileName.Substring(FileName.IndexOf("/Files"))); entity.FileName = string.Format("Files/Images/SiteCommodity/copy{0}", Path.GetExtension(FileName)); } if (!string.IsNullOrEmpty(AlbumFileName) && AlbumFileName != " " && AlbumFileName != "") { entity.AlbumFileByte = Ioc.Resolve <IFileApplicationService>().Grab(AlbumFileName.Substring(AlbumFileName.IndexOf("/Files"))); entity.AlbumFileName = string.Format("Files/Images/SiteAlbum/copy{0}", Path.GetExtension(AlbumFileName)); } if (AlbumFileName == " " || AlbumFileName == "") { entity.AlbumFileName = ""; } if (saveType == SaveType.Modify) { entity.Id = Id.Convert <long>(); if (!string.IsNullOrEmpty(Name)) { entity.SetProperty(it => it.Name); } if (CatalogId != null) { entity.SetProperty(it => it.Catalog.Id); } if (Status != null) { entity.SetProperty(it => it.Status); } if (Sequence != null) { entity.SetProperty(it => it.Sequence); } if (Cost != null) { entity.SetProperty(it => it.Cost); } if (Price != null) { entity.SetProperty(it => it.Price); } if (VenderName != null) { entity.SetProperty(it => it.VenderName); } if (VenderLinkman != null) { entity.SetProperty(it => it.VenderLinkman); } if (VenderMobile != null) { entity.SetProperty(it => it.VenderMobile); } if (VenderAddress != null) { entity.SetProperty(it => it.VenderAddress); } if (Description != null) { entity.SetProperty(it => it.Description); } if (Password != null) { entity.SetProperty(it => it.Password); } if (!string.IsNullOrEmpty(FileName)) { entity.SetProperty(it => it.FileName); } if (IsShowPrice.HasValue) { entity.SetProperty(it => it.IsShowPrice); } if (IsCreateAlbum.HasValue) { entity.SetProperty(it => it.IsCreateAlbum); } if (AlbumFileName != null) { entity.SetProperty(it => it.AlbumFileName); } } return(entity); }