Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 /// <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);
 }
Exemplo n.º 3
0
 /// <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));
 }
Exemplo n.º 4
0
 /// <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));
 }
Exemplo n.º 5
0
 /// <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
                 });
             }
         }
     }
 }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        /// <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);
                }
            }
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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);
                }
            }
        }
Exemplo n.º 10
0
        /// <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 });
                }
            }
        }
Exemplo n.º 11
0
        /// <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
                });
            }
        }
Exemplo n.º 12
0
        /// <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);
        }