/// <summary>
 /// Invoked when <see cref="ToDTO"/> operation is about to return.
 /// </summary>
 /// <param name="dto"><see cref="BusinessDTO"/> converted from <see cref="Business"/>.</param>
 static partial void OnDTO(this BusinessImage entity, BusinessImageDTO dto)
 {
     if (entity.Image != null)
     {
         dto.Image = ImageAssembler.ToDTO(entity.Image);
     }
 }
 public BusinessImageVM(BusinessImage bo)
 {
     this.Id              = bo.ID;
     this.ObjectId        = bo.RelevanceObjectID.ToString();
     this.FileDisplayName = bo.Name;
     this.FilePath        = bo.UploadPath;
 }
        public async Task <IActionResult> ImageSave(string id)
        {
            var    files           = Request.Form.Files;
            long   size            = files.Sum(f => f.Length);
            string webRootPath     = _HostingEnvironment.WebRootPath;
            string contentRootPath = _HostingEnvironment.ContentRootPath;

            foreach (var formFile in files)
            {
                if (formFile.Length > 0)
                {
                    string fileExt     = _GetFileSuffix(formFile.FileName); // 文件扩展名,不含“.”
                    long   fileSize    = formFile.Length;                   // 获得文件大小,以字节为单位
                    string newFileName = id + "_" + formFile.FileName;      // 生成新的文件名
                    var    filePath    = webRootPath + "/uploadFiles/images/" + newFileName;
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        await formFile.CopyToAsync(stream);
                    }

                    var imageBo = new BusinessImage();
                    imageBo.RelevanceObjectID = Guid.Parse(id);
                    imageBo.Name        = formFile.FileName;
                    imageBo.UploadPath  = "/uploadFiles/images/" + newFileName;
                    imageBo.DisplayName = formFile.FileName;
                    await _businessImageService.AddOrEditAndSaveAsyn(imageBo);
                }
            }

            return(Ok(new { count = files.Count, size }));
        }
        public BusinessImage Create(BusinessImage businessImage)
        {
            db.BusinessImages.Add(businessImage);
            db.SaveChanges();

            return(businessImage);
        }
示例#5
0
        //[HttpGet]
        //[HttpPost]
        //public async Task<IActionResult> EditForGoods(Guid id)
        //{
        //    var isNew = false;
        //    var bo = await _BoRepository.GetSingleAsyn(id, x => x.SK_WM_GoodsCategory);
        //    if (bo == null)
        //    {
        //        bo = new SK_WM_Goods();
        //        bo.Name = "";
        //        bo.ShelvesTime = DateTime.Now;
        //        bo.ModifyTime = DateTime.Now;
        //        bo.Description = "";
        //        //bo.IMG = "";
        //        isNew = true;
        //    }
        //    bo.ModifyTime = DateTime.Now;
        //    var boVM = new SK_WM_GoodsVM(bo);
        //    var goodsCategorys = _BoRepository.EntitiesContext.SK_WM_GoodsCategory.ToList();

        //    var selectItems = new List<PlainFacadeItem>();
        //    foreach (var item in goodsCategorys)
        //    {
        //        selectItems.Add(new PlainFacadeItem() { ID = item.ID.ToString(), Name = item.Name, SortCode = item.SortCode, DisplayName = item.Name });
        //    }
        //    boVM.GoodsCategoryCollection = selectItems;
        //    boVM.IsNew = isNew;

        //    return View("../../Views/BusinessOrganization/PublicView/_CreateOrEditForGoods", boVM);
        //}


        //[HttpPost]
        //public async Task<IActionResult> Save([Bind("ID,IsNew,Name,GoodsCategoryID,Description,SortCode,ShelvesTime,ModifyTime,Price,FacadePrice,Unit,SalesVolume,Stock,State")]SK_WM_GoodsVM boVM)
        //{
        //    var validateMessage = new ValidateMessage();
        //    if (ModelState.IsValid)
        //    {
        //        var hasDuplicateNmaeGoods = await _BoRepository.HasInstanceAsyn(x => x.Name == boVM.Name);
        //        if (hasDuplicateNmaeGoods && boVM.IsNew)
        //        {
        //            validateMessage.IsOK = false;
        //            validateMessage.ValidateMessageItems.Add(
        //                new ValidateMessageItem()
        //                { IsPropertyName = false, MessageName = "RemoteErr", Message = "商品名重复,换一个试试看吧" });
        //            return Json(validateMessage);
        //        }

        //        var bo = new SK_WM_Goods();
        //        if (!boVM.IsNew)
        //        {
        //            bo = await _BoRepository.GetSingleAsyn(boVM.ID);

        //        }

        //        // 处理一般的属性数据
        //        boVM.MapToBo(bo);

        //        // 处理关联数据
        //        if (!String.IsNullOrEmpty(boVM.GoodsCategoryID))
        //        {
        //            var skwmgclssID = Guid.Parse(boVM.GoodsCategoryID);
        //            var skwmgclss = _BoRepository.EntitiesContext.SK_WM_GoodsCategory.FirstOrDefault(x => x.ID == skwmgclssID);
        //            bo.SK_WM_GoodsCategory = skwmgclss;
        //        }

        //        var saveStatus = false;

        //        //处理上传文件
        //        var serverPath = "";
        //        long size = 0;
        //        var files = Request.Form.Files;
        //        if (files.Count() > 0)
        //        {
        //            foreach (var file in files)
        //            {
        //                var fileName = ContentDispositionHeaderValue
        //                        .Parse(file.ContentDisposition)
        //                        .FileName
        //                        .Trim('"')
        //                        .Substring(files[0].FileName.LastIndexOf("\\") + 1);

        //                fileName = bo.ID + "_" + fileName;

        //                var boPath = "../../images/goodsImg/" + fileName;
        //                fileName = _HostingEnv.WebRootPath + $@"\images\goodsImg\{fileName}";
        //                serverPath = fileName;
        //                size += file.Length;
        //                using (FileStream fs = System.IO.File.Create(fileName))
        //                {
        //                    file.CopyTo(fs);
        //                    fs.Flush();
        //                }

        //                var businessIamge = new BusinessImage()
        //                {
        //                    DisplayName = bo.Name,
        //                    RelevanceObjectID = bo.ID,
        //                    UploadPath = boPath
        //                };

        //                bo.GoodsIMG = businessIamge;
        //            }
        //        }


        //        saveStatus = await _BoRepository.AddOrEditAndSaveAsyn(bo);

        //        if (saveStatus)
        //        {
        //            validateMessage.IsOK = true;
        //            validateMessage.ValidateMessageItems.Add(
        //                new ValidateMessageItem
        //                {
        //                    IsPropertyName = false,
        //                    MessageName = "Succeed",
        //                    Message = ""
        //                });

        //            return Json(validateMessage);
        //        }
        //        else
        //        {
        //            validateMessage.IsOK = false;
        //            validateMessage.ValidateMessageItems.Add(
        //                new ValidateMessageItem()
        //                { IsPropertyName = false, MessageName = "RemoteErr", Message = "数据保存异常" });
        //            return Json(validateMessage);
        //        }


        //    }
        //    else
        //    {
        //        //return View("../../Views/BusinessOrganization/BusinessBG/CreateOrEdit", boVM);
        //        validateMessage.IsOK = false;
        //        var errCollection = from errKey in ModelState.Keys
        //                            from errMessage in ModelState[errKey].Errors
        //                            where ModelState[errKey].Errors.Count > 0
        //                            select (new { errKey, errMessage.ErrorMessage });

        //        foreach (var errItem in errCollection)
        //        {
        //            var vmItem = new ValidateMessageItem()
        //            {
        //                IsPropertyName = true,
        //                MessageName = errItem.errKey,
        //                Message = errItem.ErrorMessage
        //            };
        //            validateMessage.ValidateMessageItems.Add(vmItem);
        //        }
        //        return Json(validateMessage);
        //    }
        //}
        /// <summary>
        /// 以局部页的方式的方式,构建明细数据的处理
        /// </summary>
        /// <param name="id">商品对象的ID属性值</param>
        //public async Task<IActionResult> Detail(Guid id)
        //{
        //    var bo = await _BoRepository.GetSingleAsyn(id, x => x.SK_WM_GoodsCategory);
        //    var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);
        //    var imgCount = 0;
        //    foreach (var img in images)
        //    {
        //        bo.GoodsIMG = img;
        //        imgCount++;
        //    }
        //    ViewBag.imgCount = imgCount;
        //    ViewBag.DetailImgs = images;
        //    var boVM = new SK_WM_GoodsVM(bo);
        //    return PartialView("../../Views/BusinessOrganization/PublicView/_Detail", boVM);
        //}

        /// <summary>
        /// 删除数据,将删除操作的结果加载到 DeleteStatus 对象,然后转成 json 数据返回给前端。
        /// </summary>
        /// <param name="id">待删除的对象 ID 属性值</param>
        /// <returns>将删除操作处理的结果转为 json 数据返回到前端,供前端根据情况处理</returns>
        //public async Task<IActionResult> Delete(Guid id)
        //{
        //    var status = await _BoRepository.DeleteAndSaveAsyn(id);
        //    return Json(status);
        //}


        public async Task <IActionResult> SaveImg(Guid ID)
        {
            var  serverPath = "";
            long size       = 0;
            var  files      = Request.Form.Files;

            if (files.Count == 0)
            {
                return(Json(new { isOK = false, fileCount = 0, size = size, serverPath = "没有选择任何文件,请选择文件后,再提交上传。" }));
            }
            else
            {
                var goodsID = ID;
                var goods   = await _BoRepository.GetSingleAsyn(goodsID);

                foreach (var file in files)
                {
                    var fileName = ContentDispositionHeaderValue
                                   .Parse(files[0].ContentDisposition)
                                   .FileName
                                   .Trim('"')
                                   .Substring(files[0].FileName.LastIndexOf("\\") + 1);

                    fileName = goods.ID + "_" + fileName;

                    var boPath = "../../images/goodsImg/" + fileName;
                    fileName   = _HostingEnv.WebRootPath + $@"\images\goodsImg\{fileName}";
                    serverPath = fileName;
                    size      += files[0].Length;
                    using (FileStream fs = System.IO.File.Create(fileName))
                    {
                        files[0].CopyTo(fs);
                        fs.Flush();
                    }

                    var businessIamge = new BusinessImage()
                    {
                        DisplayName       = goods.Name,
                        RelevanceObjectID = goods.ID,
                        UploadPath        = boPath
                    };
                    var uID   = goods.ID;
                    var image = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == uID).FirstOrDefault();
                    if (image != null)
                    {
                        image.UploadPath = boPath;
                        _ImageRepository.EditAndSave(image);
                    }
                    else
                    {
                        goods.GoodsIMG = businessIamge;
                        _BoRepository.Edit(goods);
                    }
                }
                return(Json(new { isOK = true, fileCount = files.Count, size = size, serverPath = serverPath }));
            }
        }
示例#6
0
        /// <summary>
        ///  处理公告的图片上传
        /// </summary>
        /// <param name="entity"></param>
        private async Task <bool> UploadNoticeIMG(SiteNotice entity)
        {
            try
            {
                var images = Request.Form.Files;
                if (images.Count() > 0)
                {
                    foreach (var image in images)
                    {
                        if (image != null)
                        {
                            var    currImageName = image.FileName;
                            var    timeForFile   = (DateTime.Now.ToString("yyyyMMddHHmmss") + "-").Trim();
                            string extensionName = currImageName.Substring(currImageName.LastIndexOf("."));
                            var    imageName     = ContentDispositionHeaderValue
                                                   .Parse(image.ContentDisposition)
                                                   .FileName
                                                   .Trim('"')
                                                   .Substring(image.FileName.LastIndexOf("\\") + 1);
                            var newImageName = timeForFile + Guid.NewGuid() + extensionName;
                            var boPath       = "../../images/UploadImages/" + ImageType.Notices.ToString() + "/" + newImageName;
                            var imagePath    = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.Notices.ToString()}";
                            imageName = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.Notices.ToString()}\{newImageName}";

                            Directory.CreateDirectory(imagePath); //创建目录
                            using (FileStream fs = System.IO.File.Create(imageName))
                            {
                                image.CopyTo(fs);
                                fs.Flush();
                            }

                            var noticeIMG = new BusinessImage
                            {
                                Name              = newImageName,
                                DisplayName       = currImageName,
                                OriginalFileName  = currImageName,
                                Description       = "站点公告图片",
                                RelevanceObjectId = entity.Id,
                                UploaderId        = Guid.Empty,
                                UploadPath        = boPath,
                                PhysicalPath      = imageName,
                                FileSize          = image.Length,
                                Type              = ImageType.Notices
                            };

                            await _businessImage.AddOrEditAndSaveAsyn(noticeIMG);
                        }
                    }
                    return(true);
                }
                return(false);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#7
0
        public async Task <IActionResult> UploadLOGO(Guid id)
        {
            try
            {
                var    image         = Request.Form.Files.First();
                var    currImageName = image.FileName;
                var    timeForFile   = (DateTime.Now.ToString("yyyyMMddHHmmss") + "-").Trim();
                string extensionName = currImageName.Substring(currImageName.LastIndexOf("."));
                var    imageName     = ContentDispositionHeaderValue
                                       .Parse(image.ContentDisposition)
                                       .FileName
                                       .Trim('"')
                                       .Substring(image.FileName.LastIndexOf("\\") + 1);
                var newImageName = timeForFile + Guid.NewGuid() + extensionName;
                var boPath       = "../../images/UploadImages/" + ImageType.Logo.ToString() + "/" + newImageName;
                var imagePath    = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.Logo.ToString()}";
                imageName = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.Logo.ToString()}\{newImageName}";
                Directory.CreateDirectory(imagePath); //创建目录
                using (FileStream fs = System.IO.File.Create(imageName))
                {
                    image.CopyTo(fs);
                    fs.Flush();
                }
                var query = await _businessImage.FindByAsyn(x => x.RelevanceObjectId == id);

                var logo = query.FirstOrDefault();
                if (logo != null)
                {
                    System.IO.File.Delete(Path.Combine(logo.PhysicalPath, "\\" + logo.Name));
                    logo.UploadPath   = boPath;
                    logo.PhysicalPath = imageName;
                }
                else
                {
                    logo = new BusinessImage
                    {
                        Name              = newImageName,
                        DisplayName       = currImageName,
                        OriginalFileName  = currImageName,
                        Description       = "网站LOGO",
                        RelevanceObjectId = id,
                        UploaderId        = Guid.Empty,
                        UploadPath        = boPath,
                        PhysicalPath      = imageName,
                        FileSize          = image.Length,
                        Type              = ImageType.Logo
                    };
                }
                await _businessImage.AddOrEditAndSaveAsyn(logo);

                return(Json(new { result = true }));
            }
            catch (Exception)
            {
                return(Json(new { result = false }));
            }
        }
示例#8
0
        /// <summary>
        /// Add Business Images
        /// </summary>
        /// <returns></returns>
        public BusinessImageVM AddBusinessImages(BusinessImageVM _businessImageVM)
        {
            BusinessImage _businessImage = new BusinessImage {
                BusinessID = _businessImageVM.BusinessID, ImageName = _businessImageVM.ImageName, ImageType = _businessImageVM.ImageType
            };

            _businessImage = _objBusinessDAL.AddBusinessImages(_businessImage);
            _businessImageVM.BusinessImageID = _businessImage.BusinessImageID;
            return(_businessImageVM);
        }
示例#9
0
        public async Task <IActionResult> SaveAvatar()
        {
            var  serverPath = "";
            long size       = 0;
            var  files      = Request.Form.Files;

            if (files.Count == 0)
            {
                return(Json(new { isOK = false, fileCount = 0, size = size, serverPath = "没有选择任何文件,请选择文件后,再提交上出。" }));
            }
            else
            {
                var userName = User.Identity.Name;
                var user     = await _UserManager.FindByNameAsync(userName);

                //var fileName = file.FileName;
                var fileName = ContentDispositionHeaderValue
                               .Parse(files[0].ContentDisposition)
                               .FileName
                               .Trim('"')
                               .Substring(files[0].FileName.LastIndexOf("\\") + 1);

                fileName = user.Id + "_" + fileName;
                var boPath = "../../images/Avatars/" + fileName;
                fileName   = _HostingEnv.WebRootPath + $@"\images\Avatars\{fileName}";
                serverPath = fileName;
                size      += files[0].Length;
                using (FileStream fs = System.IO.File.Create(fileName))
                {
                    files[0].CopyTo(fs);
                    fs.Flush();
                }

                var businessIamge = new BusinessImage()
                {
                    DisplayName       = user.UserName,
                    RelevanceObjectID = Guid.Parse(user.Id),
                    UploadPath        = boPath
                };
                var uID   = Guid.Parse(user.Id);
                var image = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == uID).FirstOrDefault();
                if (image != null)
                {
                    image.UploadPath = boPath;
                    _ImageRepository.EditAndSave(image);
                }
                else
                {
                    user.Avatar = businessIamge;
                    await _UserManager.UpdateAsync(user);
                }

                return(Json(new { isOK = true, fileCount = files.Count, size = size, serverPath = serverPath }));
            }
        }
        public BusinessImage Get(int id)
        {
            BusinessImage businessImage = db.BusinessImages.Include(p => p.Image).FirstOrDefault(p => p.BusinessImageID == id);

            if (businessImage == null)
            {
                return(null);
            }

            return(businessImage);
        }
 public void Update(int id, BusinessImage businessImage)
 {
     db.Entry(businessImage).State = EntityState.Modified;
     try
     {
         db.SaveChanges();
     }
     catch (DbUpdateConcurrencyException)
     {
         throw;
     }
 }
        // 下面的方法暂时不需要处理
        private Task <string> _ProcessUploadFile(
            CustomMultipartFormDataStreamProvider provider,
            List <string> files,
            string fileType,
            BusinessImage imgaeRecord,
            BusinessFile fileRecord,
            string defaultUploadFilesUrl,
            Guid mainID,
            string relID,
            long fileSize
            )
        {
            Request.Content.ReadAsMultipartAsync(provider);
            foreach (MultipartFileData file in provider.FileData)
            {
                files.Add(Path.GetFileName(file.LocalFileName));

                #region 持久化关系处理

                var localFileName  = Path.GetFileName(file.LocalFileName).ToLower();
                var saveFileSuffix = Path.GetExtension(file.LocalFileName).ToLower();
                var saveFileName   = localFileName.Substring((mainID + "_").Length, localFileName.Length - (mainID + "_").Length - saveFileSuffix.Length);
                switch (fileType)
                {
                case "imageFile":
                    imgaeRecord.Name              = saveFileName;
                    imgaeRecord.UploadPath        = defaultUploadFilesUrl;
                    imgaeRecord.Description       = "图形文件";
                    imgaeRecord.OriginalFileName  = localFileName;
                    imgaeRecord.UploadFileSuffix  = saveFileSuffix;
                    imgaeRecord.UploadedTime      = DateTime.Now;
                    imgaeRecord.FileSize          = (long)fileSize;
                    imgaeRecord.RelevanceObjectID = Guid.Parse(relID);
                    _ImageService.SaveSingleWithUniquenessRelevanceID(imgaeRecord);
                    break;

                default:
                    fileRecord.Name                   = saveFileName;
                    fileRecord.UploadPath             = defaultUploadFilesUrl;
                    fileRecord.Description            = "普通文件";
                    fileRecord.OriginalFileName       = localFileName;
                    fileRecord.UploadFileSuffix       = saveFileSuffix;
                    fileRecord.AttachmentTimeUploaded = DateTime.Now;
                    fileRecord.FileSize               = (long)fileSize;
                    fileRecord.RelevanceObjectID      = Guid.Parse(relID);
                    _FileService.SaveSingleWithUniquenessRelevanceID(fileRecord);
                    break;
                }
                #endregion
            }
            return(null);
        }
        /// <summary>
        /// 统一处理图片上传(添加)
        /// </summary>
        /// <param name="commodity"></param>
        private void AddCommodityImg(YZ_Commodity commodity)
        {
            try
            {
                var images  = Request.Form.Files;
                var isCover = true;
                if (images != null)
                {
                    foreach (var image in images)
                    {
                        var    currImageName = image.FileName;
                        var    timeForFile   = (DateTime.Now.ToString("yyyyMMddHHmmss") + "-").Trim();
                        string extensionName = currImageName.Substring(currImageName.LastIndexOf("."));
                        var    imageName     = ContentDispositionHeaderValue
                                               .Parse(image.ContentDisposition)
                                               .FileName
                                               .Trim('"')
                                               .Substring(image.FileName.LastIndexOf("\\") + 1);
                        var newImageName = timeForFile + GetUser().Id + extensionName;
                        var boPath       = "../../images/UploadImages/" + ImageType.CommodityImgs.ToString() + "/" + newImageName;
                        var imagePath    = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.CommodityImgs.ToString()}";
                        imageName = _hostingEnv.WebRootPath + $@"\images\UploadImages\{ImageType.CommodityImgs.ToString()}\{newImageName}";

                        Directory.CreateDirectory(imagePath); //创建目录
                        using (FileStream fs = System.IO.File.Create(imageName))
                        {
                            image.CopyTo(fs);
                            fs.Flush();
                        }
                        var commodityImg = new BusinessImage
                        {
                            Name              = string.Empty,
                            DisplayName       = string.Empty,
                            OriginalFileName  = string.Empty,
                            Description       = "这是闲置商品【" + commodity.Name + "】的图片",
                            RelevanceObjectId = commodity.Id,
                            UploaderId        = Guid.Parse(GetUser().Id),
                            UploadPath        = boPath,
                            PhysicalPath      = imageName,
                            FileSize          = image.Length,
                            Type              = isCover ? ImageType.CommodityCover : ImageType.CommodityImgs
                        };
                        _businessImage.AddAndSave(commodityImg);
                        isCover = false;
                    }
                }
            }
            catch (Exception)
            {
            }
        }
示例#14
0
 public BusinessImageVM(BusinessImage bi)
 {
     ID                = bi.ID;
     Name              = bi.Name;
     Description       = bi.Description;
     SortCode          = bi.SortCode;
     DisplayName       = bi.DisplayName;
     OriginalFileName  = bi.OriginalFileName;
     UploadedTime      = bi.UploadedTime;
     UploadPath        = bi.UploadPath;
     UploadFileSuffix  = bi.UploadFileSuffix;
     IconString        = bi.IconString;
     RelevanceObjectID = bi.RelevanceObjectID;
 }
        public BusinessImage Delete(int id)
        {
            BusinessImage businessImage = db.BusinessImages.Find(id);

            if (businessImage == null)
            {
                return(null);
            }

            db.BusinessImages.Remove(businessImage);
            db.SaveChanges();

            return(businessImage);
        }
        public BusinessImageDTO Get(int id)
        {
            BusinessImageDTO oBusinessImageDTO = null;

            if (id > 0)
            {
                BusinessImage oBusinessImage = BusinessImagesRepo.Get(id);
                if (oBusinessImage != null)
                {
                    oBusinessImageDTO = BusinessImageAssembler.ToDTO(oBusinessImage);
                }
            }

            return(oBusinessImageDTO);
        }
示例#17
0
 public void MapToBo(BusinessImage bo)
 {
     bo.Name             = this.Name;
     bo.Description      = this.Description;
     bo.SortCode         = this.SortCode;
     bo.DisplayName      = this.DisplayName;
     bo.OriginalFileName = this.OriginalFileName;
     bo.UploadedTime     = this.UploadedTime;
     bo.UploadPath       = this.UploadPath;
     bo.UploadFileSuffix = this.UploadFileSuffix;
     bo.X                 = this.X;
     bo.Y                 = this.Y;
     bo.Width             = this.Width;
     bo.Height            = this.Height;
     bo.RelevanceObjectID = this.RelevanceObjectID;
 }
示例#18
0
 public BusinessImageVM(BusinessImage bo)
 {
     this.ID               = bo.ID;
     this.Name             = bo.Name;
     this.Description      = bo.Description;
     this.SortCode         = bo.SortCode;
     this.DisplayName      = bo.DisplayName;
     this.OriginalFileName = bo.OriginalFileName;
     this.UploadedTime     = bo.UploadedTime;
     this.UploadPath       = bo.UploadPath;
     this.UploadFileSuffix = bo.UploadFileSuffix;
     this.X                 = bo.X;
     this.Y                 = bo.Y;
     this.Width             = bo.Width;
     this.Height            = bo.Height;
     this.RelevanceObjectID = bo.RelevanceObjectID;
 }
示例#19
0
        /// <summary>
        /// 更改头像
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> SavehobbyPhone(string id)
        {
            UploadPhone   updatePhone = new UploadPhone(_hostingEnv);
            BusinessImage image       = new BusinessImage();
            var           file        = Request.Form.Files.FirstOrDefault();
            var           hobby       = await _hobbyExtension.GetAll().Where(x => x.ID == Guid.Parse(id)).FirstOrDefaultAsync();

            //保存文件
            image.UploadPath = updatePhone.PhoneNewUpload(file, "User");

            image.UploaderID        = hobby.ID;
            image.RelevanceObjectID = hobby.ID;
            _businessImageExtension.AddAndSave(image);
            hobby.Avatar = image;
            _hobbyExtension.EditAndSave(hobby);
            return(Json(true));
        }
示例#20
0
        /// <summary>
        /// Converts this instance of <see cref="BusinessImageDTO"/> to an instance of <see cref="BusinessImage"/>.
        /// </summary>
        /// <param name="dto"><see cref="BusinessImageDTO"/> to convert.</param>
        public static BusinessImage ToEntity(this BusinessImageDTO dto)
        {
            if (dto == null)
            {
                return(null);
            }

            var entity = new BusinessImage();

            entity.BusinessImageID = dto.BusinessImageID;
            entity.BusinessID      = dto.BusinessID;
            entity.ImageID         = dto.ImageID;
            entity.IsPrimary       = dto.IsPrimary;

            dto.OnEntity(entity);

            return(entity);
        }
示例#21
0
        /// <summary>
        /// Converts this instance of <see cref="BusinessImage"/> to an instance of <see cref="BusinessImageDTO"/>.
        /// </summary>
        /// <param name="entity"><see cref="BusinessImage"/> to convert.</param>
        public static BusinessImageDTO ToDTO(this BusinessImage entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var dto = new BusinessImageDTO();

            dto.BusinessImageID = entity.BusinessImageID;
            dto.BusinessID      = entity.BusinessID;
            dto.ImageID         = entity.ImageID;
            dto.IsPrimary       = entity.IsPrimary;

            entity.OnDTO(dto);

            return(dto);
        }
        public JsonResult Edit(BusinessImage model)
        {
            try
            {
                if (model.BusinessImageId > 0)
                {
                    var entity = _businessImageService.GetById(model.BusinessImageId);
                    //修改
                    entity.BaseImageId = model.BaseImageId;
                    entity.SortNo      = model.SortNo;
                    entity.Type        = model.Type;

                    model.EditPersonId = Loginer.AccountId;
                    model.EditTime     = DateTime.Now;
                    _businessImageService.Update(model);
                    return(Json(new { Status = Successed.Ok }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    //if (_businessImageService.CheckBusinessName(model.Name) > 0)
                    //    return Json(new { Status = Successed.Repeat }, JsonRequestBehavior.AllowGet);
                    //添加
                    model.Status         = (int)EnabledEnum.效;
                    model.IsDelete       = (int)IsDeleteEnum.效;
                    model.CreatePersonId = Loginer.AccountId;
                    model.CreateTime     = DateTime.Now;
                    model.EditPersonId   = Loginer.AccountId;
                    model.EditTime       = DateTime.Now;
                    model = _businessImageService.Insert(model);
                    if (model.BusinessImageId > 0)
                    {
                        return(Json(new { Status = Successed.Ok }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { Status = Successed.Error }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Status = Successed.Error }, JsonRequestBehavior.AllowGet));
            }
        }
示例#23
0
        /// <summary>
        /// 保存图片
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> SavaUploaPhone(Guid id)
        {
            //TODO 获取对应的图片存储到服务器上和数据库上(业务ID ,当前用户ID ,图片路径)

            var file = Request.Form.Files.FirstOrDefault();

            if (file == null)
            {
                return(Json(new { isOk = false, message = "请选择上传的图片" }));
            }
            var user = User.Claims.FirstOrDefault();

            if (user == null)
            {
                //return Json(new { isOK = false, messsage = "请选择上传图片" });
                return(null);
            }
            //if (file == null)
            //{
            //    return null;
            //    //return Json(new { isOK = false, messsage = "请选择上传图片" });
            //}
            UploadPhone   updatePhone = new UploadPhone(_hostingEnv);
            BusinessImage image;

            image = new BusinessImage();
            var anAssociation = await _anAssociationExtension.GetAll().Include(x => x.User).Where(x => x.ID == id).FirstOrDefaultAsync();

            if (file.Length > 10485760)
            {
                return(null);
                //return Json(new { isOK = false, messsage = "图片大小有误,每张图片限制于10M" });
            }
            //保存文件
            image.UploadPath = updatePhone.PhoneNewUpload(file, "AnAssociation");

            image.UploaderID        = Guid.Parse(user.Value);
            image.RelevanceObjectID = anAssociation.ID;
            _businessImageRepository.AddAndSave(image);
            anAssociation.Avatar = image;
            _anAssociationExtension.EditAndSave(anAssociation);
            return(Json(true));
        }
示例#24
0
 public BusinessImageVM(BusinessImage bo)
 {
     Id               = bo.Id;
     Name             = bo.Name;
     Description      = bo.Description;
     SortCode         = bo.SortCode;
     DisplayName      = bo.DisplayName;
     OriginalFileName = bo.OriginalFileName;
     UploadedTime     = bo.UploadedTime;
     UploadPath       = bo.UploadPath;
     UploadFileSuffix = bo.UploadFileSuffix;
     FileSize         = bo.FileSize;
     IconString       = bo.IconString;
     X                 = bo.X;
     Y                 = bo.Y;
     Width             = bo.Width;
     Type              = bo.Type;
     IsCover           = bo.IsCover;
     RelevanceObjectId = bo.RelevanceObjectId;
     UploaderId        = bo.UploaderId;
 }
示例#25
0
        public BusinessImageVM(BusinessImage bo)
        {
            ID               = bo.ID;
            Name             = bo.Name;
            Description      = bo.Description;
            SortCode         = bo.SortCode;
            DisplayName      = bo.DisplayName;
            OriginalFileName = bo.OriginalFileName;

            UploadedTime     = bo.UploadedTime;
            UploadPath       = bo.UploadPath;
            UploadFileSuffix = bo.UploadFileSuffix;
            FileSize         = bo.FileSize;
            IconString       = bo.IconString;
            IsForTitle       = bo.IsForTitle;
            X                 = bo.X;
            Y                 = bo.Y;
            Width             = bo.Width;
            RelevanceObjectID = bo.RelevanceObjectID;
            UploaderID        = bo.UploaderID;
        }
示例#26
0
        public async Task <IActionResult> Register(RegisterInformation registerInformation)
        {
            var registerVM = registerInformation;

            //验证用户名
            if (!_tzDataValidHelper.IsNumAndEnCh(registerVM.UserName))
            {
                return(Json(new { state = false, message = "用户名只能包含字母和数字!" }));
            }

            if (_tzDataValidHelper.CheckReservedUserName(registerVM.UserName))
            {
                return(Json(new { state = false, message = "系统保留用户名无法注册!" }));
            }

            if (!string.IsNullOrEmpty(GetUserNameOrNickname()))
            {
                return(RedirectToAction("UserCenter"));
            }
            if (string.IsNullOrEmpty(registerVM.UserName) || string.IsNullOrEmpty(registerVM.Password) || string.IsNullOrEmpty(registerVM.ConfirmPassword))
            {
                return(Json(new { state = false, message = "表单中的所有必填项存在空值,请检查!" }));
            }
            if (_HasTheSameNickname(registerVM.Nickname))
            {
                return(Json(new { state = false, message = "当前昵称已经被使用Ծ‸Ծ!" }));
            }
            if (_HasTheSameUser(registerVM.UserName))
            {
                return(Json(new { state = false, message = "当前用户名已经被使用Ծ‸Ծ!" }));
            }
            var user = new ApplicationUser(registerVM.UserName)
            {
                Nickname     = registerVM.Nickname,
                Remark       = _randomDataHepler.GetRandomRemark(),
                Email        = string.Empty,
                MobileNumber = string.Empty
            };

            //普通用户
            const string averageUser = "******";

            //判断用户组是否存在
            if (!await _roleManager.RoleExistsAsync(averageUser))
            {
                ApplicationRole userRole = new ApplicationRole()
                {
                    Name = averageUser, DisplayName = "普通注册用户", Description = "适用于普通注册用户", ApplicationRoleType = ApplicationRoleTypeEnum.适用于普通注册用户, SortCode = "99avf56g"
                };
                await _roleManager.CreateAsync(userRole);
            }
            var a1 = await _userManager.CreateAsync(user);

            var a2 = await _userManager.AddPasswordAsync(user, registerVM.Password);

            //查询用户是否已经添加了权限 若不在添加进用户组
            if (!await _userManager.IsInRoleAsync(user, averageUser))
            {
                var roleOK = await _userManager.AddToRoleAsync(user, averageUser);
            }
            if (a1.Succeeded && a2.Succeeded)
            {
                //初始化用户等级信息
                await _userGrade.AddOrEditAndSaveAsyn(new ApplicationUserGrade
                {
                    User             = user,
                    IsAuthentication = false,
                    Level            = 1,
                    LevelName        = "VIP",
                    Currency         = 925,
                    Score            = 0
                });

                //初始化链接

                //初始化用户链接
                string[] linkNames = { "QQ", "微博", "Github", "个人网站" };
                var      types     = new List <UserLinkType> {
                    UserLinkType.QQ, UserLinkType.Weibo, UserLinkType.Github, UserLinkType.ProSite
                };
                for (int linkI = 0; linkI < 4; linkI++)
                {
                    await _userLink.AddOrEditAndSaveAsyn(new UserLink
                    {
                        UserId = Guid.Parse(user.Id),
                        Name   = linkNames[linkI],
                        Link   = "javascript:",
                        Target = UserLinkTarget._blank,
                        Type   = types[linkI]
                    });
                }

                //注册完成添加默认头像
                var userAvatar = _randomDataHepler.GetRandomAvatar();
                var avatar     = new BusinessImage
                {
                    Type              = BusinessImageEnum.Avatars,
                    Name              = string.Empty,
                    DisplayName       = string.Empty,
                    OriginalFileName  = string.Empty,
                    RelevanceObjectId = Guid.Parse(user.Id),
                    UploaderId        = Guid.Parse(user.Id),
                    Description       = "这是用户【" + user.UserName + "】的个人头像",
                    RelativePath      = userAvatar,
                    MinRelativePath   = userAvatar,
                    PhysicalPath      = string.Empty,
                    MinPhysicalPath   = string.Empty
                };
                await _businessImage.AddOrEditAndSaveAsyn(avatar);

                return(Json(new { state = true, message = "注册成功,请牢记您的账号密码!" }));
            }
            else
            {
                return(Json(new { state = false, message = "密码强度不够,至少包含:小写字母+数字" }));
            }
        }
示例#27
0
        /// <summary>
        /// 添加一些默认的用户 、当然在种子数据里面已经添加过了另外的用户
        /// ?在种子数据添加的用户不能够登录,原因可能在于哈希密码
        /// </summary>
        public async Task <IActionResult> AddDefaultUsers()
        {
            //使用文件方式进行判断
            string installLockFile       = Path.Combine(_hostingEnv.WebRootPath, @"Install\install.lock");
            bool   installLockFileExists = System.IO.File.Exists(installLockFile);

            var uExist = await _userManager.FindByNameAsync("admin");

            if (uExist == null && !installLockFileExists)
            {
                ApplicationRole adminRole = null;
                ApplicationRole userRole  = null;
                //?判断用户组是否存在
                if (!await _roleManager.RoleExistsAsync("Admin"))
                {
                    adminRole = new ApplicationRole()
                    {
                        Name = "Admin", DisplayName = "超级管理员", Description = "适用于系统管理人员", ApplicationRoleType = ApplicationRoleTypeEnum.适用于系统管理人员
                    };
                    userRole = new ApplicationRole()
                    {
                        Name = "AverageUser", DisplayName = "普通用户", Description = "适用于普通注册用户", ApplicationRoleType = ApplicationRoleTypeEnum.适用于普通注册用户
                    };
                    await _roleManager.CreateAsync(adminRole);

                    await _roleManager.CreateAsync(userRole);
                }

                //添加默认用户
                string[]       userLastStr = new string[] { "", "a", "b", "c", "d", "e", "f", "g" };
                string[]       linkNames   = { "QQ", "微博", "Github", "个人网站" };
                UserLinkType[] types       = { UserLinkType.QQ, UserLinkType.Weibo, UserLinkType.Github, UserLinkType.ProSite };
                const string   password    = "******";
                for (int i = 0; i < userLastStr.Length + 1; i++)
                {
                    var user = new ApplicationUser();
                    if (i == 0)
                    {
                        const string adPassword = "******";
                        user = new ApplicationUser("admin")
                        {
                            FullName = "超级管理员",
                            Nickname = "大大二颜",
                            Remark   = "talk is cheap,show me the code.",
                            Email    = "*****@*****.**",
                            Birthday = DateTime.Parse("1995-09-25"),
                            Location = "广西·南宁"
                        };
                        var addAdmin = await _userManager.CreateAsync(user);

                        var addAdminPassword = await _userManager.AddPasswordAsync(user, adPassword);

                        //设置默认博客文章用户(发布时,请记得删除)
                        var blogArticles = await _blogArticle.GetAllAsyn();

                        foreach (var blogArticle in blogArticles)
                        {
                            blogArticle.User = user;
                            await _blogArticle.AddOrEditAndSaveAsyn(blogArticle);
                        }

                        //查询用户是否已经添加了权限 若不在添加进用户组
                        if (!await _userManager.IsInRoleAsync(user, adminRole.Name))
                        {
                            await _userManager.AddToRoleAsync(user, adminRole.Name);
                        }
                    }
                    else
                    {
                        user = new ApplicationUser("user" + userLastStr[i - 1])
                        {
                            Nickname = _randomDataHepler.GetRandomNickname(),
                            Remark   = _randomDataHepler.GetRandomRemark(),
                            FullName = "普通用户" + userLastStr[i - 1],
                            Email    = "user" + userLastStr[i - 1] + "@925i.cn",
                            Birthday = DateTime.Now,
                            Location = "广西·南宁"
                        };
                        var addUser = await _userManager.CreateAsync(user);

                        var addUserPassword = await _userManager.AddPasswordAsync(user, password);

                        if (!await _userManager.IsInRoleAsync(user, userRole.Name))
                        {
                            var roleOK = await _userManager.AddToRoleAsync(user, userRole.Name);
                        }
                    }

                    //初始化用户等级信息
                    await _userGrade.AddOrEditAndSaveAsyn(new ApplicationUserGrade
                    {
                        User             = user,
                        IsAuthentication = false,
                        Level            = 1,
                        LevelName        = "VIP",
                        Currency         = 925,
                        Score            = 0
                    });

                    //初始化用户链接
                    for (int linkI = 0; linkI < 4; linkI++)
                    {
                        await _userLink.AddOrEditAndSaveAsyn(new UserLink
                        {
                            UserId = Guid.Parse(user.Id),
                            Name   = linkNames[linkI],
                            Link   = "javascript:",
                            Target = UserLinkTarget._blank,
                            Type   = types[linkI]
                        });
                    }

                    //初始化默认头像
                    var userAvatar = _randomDataHepler.GetRandomAvatar();
                    var avatar     = new BusinessImage
                    {
                        Type              = BusinessImageEnum.Avatars,
                        Name              = string.Empty,
                        DisplayName       = string.Empty,
                        OriginalFileName  = string.Empty,
                        RelevanceObjectId = Guid.Parse(user.Id),
                        UploaderId        = Guid.Parse(user.Id),
                        Description       = "这是用户 " + user.FullName + " 的头像",
                        FileSize          = 0,
                        RelativePath      = userAvatar,
                        MinRelativePath   = userAvatar,
                        PhysicalPath      = string.Empty,
                        MinPhysicalPath   = string.Empty
                    };
                    await _businessImage.AddOrEditAndSaveAsyn(avatar);
                }
                ViewBag.Message = "数据添加完成,您可以通过下方按钮选择一些操作!";

                //添加锁定文件
                using (Stream fs = System.IO.File.Create(installLockFile)) fs.Flush();
                return(RedirectToAction("Login"));
            }
            else
            {
                ViewBag.Message = "安装已经完成,如需重新安装请删除安装目录下的install.lock文件,再进行操作。";
                return(RedirectToAction("Login"));
            }
        }
 /// <summary>
 /// Invoked when <see cref="ToEntity"/> operation is about to return.
 /// </summary>
 /// <param name="entity"><see cref="Business"/> converted from <see cref="BusinessDTO"/>.</param>
 static partial void OnEntity(this BusinessImageDTO dto, BusinessImage entity)
 {
 }
示例#29
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Update(BusinessImage model)
 {
     this._repoBusinessImage.Update(model);
 }
示例#30
0
 /// <summary>
 /// 删除实体
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Delete(BusinessImage model)
 {
     this._repoBusinessImage.Delete(model);
 }