Пример #1
0
        /// <summary>
        /// 新增包裝
        /// </summary>
        /// <returns></returns>
        public bool Create()
        {
            using (var context = new EG_MagicCubeEntities())
            {
                Packages _Package = new Packages();
                _Package.PackagesNo = Guid.NewGuid();
                this.PackagesNo     = _Package.PackagesNo.ToString();

                string BeforeName      = "誠品畫廊推薦";
                string strNowDate      = DateTime.Now.ToString("yyyyMMdd");
                var    oldName         = context.Packages.AsQueryable().Where(c => (BeforeName + strNowDate).Contains(c.PackagesName)).Select(c => c.PackagesName).FirstOrDefault();
                var    NameCount       = context.Packages.AsQueryable().Where(c => c.CreateDate >= System.DateTime.Today).Count();
                string NewPackagesName = "";
                NewPackagesName = BeforeName + strNowDate + (NameCount + 1).ToString().PadLeft(2, '0');


                _Package.PackagesName = NewPackagesName;
                _Package.EndDate      = this.EndDate;
                _Package.PackingDate  = this.PackingDate;
                _Package.PackagesMemo = this.PackagesMemo;
                _Package.SearchJson   = this.SearchJson;
                _Package.CreateDate   = DateTime.Now;
                _Package.CreateUser   = HttpContext.Current?.User?.Identity?.Name ?? "";
                _Package.ModifyDate   = DateTime.Now;
                _Package.ModifyUser   = HttpContext.Current?.User?.Identity?.Name ?? "";
                _Package.Budget       = this.Budget;
                _Package.IsDel        = "";
                context.Packages.Add(_Package);
                if (context.SaveChanges() > 0)
                {
                    foreach (PackageItemModel _PackageItemModel in PackageItems)
                    {
                        Guid Guid_WorksNo = Guid.Parse(_PackageItemModel.WorksNo.ToUpper());
                        context.PackageItems.Add(new PackageItems()
                        {
                            PackagesNo = _Package.PackagesNo,
                            WorksNo    = Guid_WorksNo,
                            JoinDate   = DateTime.Now,
                            IsJoin     = _PackageItemModel.IsJoin,
                            DelDate    = new Nullable <DateTime>()
                        });
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #2
0
 /// <summary>
 /// 新增藝術家
 /// </summary>
 /// <returns></returns>
 public bool Create()
 {
     using (var context = new EG_MagicCubeEntities())
     {
         Authors _Authors = new Authors();
         _Authors.AuthorsCName = this.AuthorsCName ?? "";
         _Authors.AuthorsEName = this.AuthorsEName ?? "";
         _Authors.CreateDate   = DateTime.Now;
         _Authors.CreateUser   = this.CreateUser ?? "";
         _Authors.ModifyDate   = DateTime.Now;
         _Authors.ModifyUser   = this.ModifyUser ?? "";
         _Authors.MaterialsID  = "";
         _Authors.IsDel        = "";
         _Authors.Rating       = this.Rating ?? "";
         _Authors.WorksAmount  = this.WorksAmount;
         context.Authors.Add(_Authors);
         if (context.SaveChanges() > 0)
         {
             this.AuthorsNo = _Authors.AuthorsNo;
             if (this.AuthorsAreaNo_InputString.Count > 0)
             {
                 foreach (int _AuthorsAreaNo in this.AuthorsAreaNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                 {
                     context.AuthorsPropArea.Add(new AuthorsPropArea()
                     {
                         AuthorsNo = this.AuthorsNo, AuthorsAreaNo = _AuthorsAreaNo
                     });
                 }
             }
             if (this.AuthorsTagNo_InputString.Count > 0)
             {
                 foreach (int _AuthorsTagNo in this.AuthorsTagNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                 {
                     context.AuthorsPropTag.Add(new AuthorsPropTag()
                     {
                         AuthorsNo = this.AuthorsNo, AuthorsTagNo = _AuthorsTagNo
                     });
                 }
             }
             if (context.SaveChanges() == 0)
             {
                 return(false);
             }
         }
         else
         {
             return(false);
         }
     }
     return(true);
 }
Пример #3
0
        public static bool SetConfigure(string strConfigureClass, string strConfigureValue)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var oSystemConfigure = context.SystemConfigure.AsQueryable().First(x => x.ConfigureName == strConfigureClass);

                if (oSystemConfigure != null)
                {
                    oSystemConfigure.ConfigureValue = strConfigureValue;
                }
                else
                {
                    SystemConfigure new_SystemConfigure = new SystemConfigure()
                    {
                    };
                    new_SystemConfigure.ConfigureName  = strConfigureClass;
                    new_SystemConfigure.ConfigureValue = strConfigureValue;
                    context.SystemConfigure.Add(new_SystemConfigure);
                }
                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #4
0
        /// <summary>
        /// 刪除包裝
        /// </summary>
        /// <param name="PackagesNo">包裝序號</param>
        /// <returns></returns>
        public static bool Delete(string PackagesNo)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var Guid_PackagesNo = Guid.Parse(PackagesNo.ToUpper());
                var package         = context.Packages.AsQueryable().FirstOrDefault(x => x.PackagesNo == Guid_PackagesNo);

                if (package != null)
                {
                    package.IsDel      = "Y";
                    package.ModifyUser = HttpContext.Current?.User?.Identity?.Name ?? "";
                    package.ModifyDate = DateTime.Now;
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #5
0
            private bool Insert()
            {
                bool IsInsert = false;

                using (var context = new EG_MagicCubeEntities())
                {
                    context.ET_MASTER.Add(new EG_MagicCubeEntity.ET_MASTER()
                    {
                        MATNR        = this.MATNR,
                        ZZCT         = this.ZZCT,
                        NAME1        = this.NAME1,
                        ZFPRESERVE_D = this.ZFPRESERVE_D,
                        ZZSE         = this.ZZSE,
                        LOCATION     = this.LOCATION,
                        STATUS       = this.STATUS,
                        STPRS        = this.STPRS,
                        NETPR        = this.NETPR,
                        WAERS        = this.WAERS,
                        ERDAT        = this.ERDAT,
                        UDATE        = this.UDATE,
                    });
                    if (context.SaveChanges() == 0)
                    {
                        IsInsert = true;
                    }
                }
                return(IsInsert);
            }
Пример #6
0
        /// <summary>
        /// 刪除包裝項目
        /// </summary>
        /// <param name="PackagesNo">包裝序號</param>
        /// <param name="WorksNo">作品序號</param>
        /// <returns></returns>
        public static bool DeletePackageItem(string PackagesNo, string WorksNo)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var Guid_PackagesNo = Guid.Parse(PackagesNo.ToUpper());
                var Guid_WorksNo    = Guid.Parse(WorksNo.ToUpper());
                var PackageItemList = context.PackageItems.AsQueryable().Where(x => x.PackagesNo == Guid_PackagesNo && x.WorksNo == Guid_WorksNo).Select(c => c).ToList();

                if (PackageItemList != null | PackageItemList.Count > 0)
                {
                    foreach (PackageItems _PackageItem in PackageItemList)
                    {
                        context.PackageItems.Remove(_PackageItem);
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #7
0
        /// <summary>
        /// 帳號資料更新
        /// </summary>
        /// <param name="newPackages">新帳號資料</param>
        /// <returns></returns>
        public static bool Update(AccountModel newAccountModel)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var oldUserAccount = context.UserAccounts.First(x => x.UserAccountsNo == newAccountModel.UserAccountsNo);
                if (newAccountModel.Password != "nopwdnopwd" && newAccountModel.Password_Confirm != "nopwdnopwd")
                {
                    if (oldUserAccount.Password != newAccountModel.Password)
                    {
                        PasswordHandler _PasswordHandler = new PasswordHandler(newAccountModel.Password);
                        oldUserAccount.Password = _PasswordHandler.EnStrPw;
                        oldUserAccount.Pwdself  = _PasswordHandler.SaltKey;
                    }
                }

                oldUserAccount.UserAccount   = newAccountModel.UserAccount;
                oldUserAccount.Name          = newAccountModel.Name;
                oldUserAccount.RoleNo        = newAccountModel.RoleNo;
                oldUserAccount.AccountNote   = newAccountModel.AccountNote;
                oldUserAccount.AccountStatus = newAccountModel.AccountStatus;
                oldUserAccount.ModifyUser    = HttpContext.Current?.User?.Identity?.Name ?? "";
                oldUserAccount.ModifyDate    = DateTime.Now;
                oldUserAccount.ErrorCount    = newAccountModel.ErrorCount;
                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #8
0
        /// <summary>
        /// 新增帳號
        /// </summary>
        /// <returns></returns>
        public bool Create()
        {
            using (var context = new EG_MagicCubeEntities())
            {
                UserAccounts _UserAccounts = new UserAccounts();
                _UserAccounts.UserAccount = this.UserAccount;
                _UserAccounts.Name        = this.Name;

                PasswordHandler _PasswordHandler = new PasswordHandler(this.Password);

                _UserAccounts.Password      = this.Password = _PasswordHandler.EnStrPw;
                _UserAccounts.Pwdself       = this.Pwdself = _PasswordHandler.SaltKey;
                _UserAccounts.RoleNo        = this.RoleNo;
                _UserAccounts.AccountStatus = this.AccountStatus;
                _UserAccounts.AccountNote   = this.AccountNote;
                _UserAccounts.CreateDate    = DateTime.Now;
                _UserAccounts.CreateUser    = HttpContext.Current?.User?.Identity?.Name ?? "";
                _UserAccounts.ModifyUser    = HttpContext.Current?.User?.Identity?.Name ?? "";
                _UserAccounts.ModifyDate    = DateTime.Now;
                _UserAccounts.IsDel         = "";
                _UserAccounts.ErrorCount    = 0;
                context.UserAccounts.Add(_UserAccounts);
                if (context.SaveChanges() == 0)
                {
                    this.UserAccountsNo = _UserAccounts.UserAccountsNo;
                    return(false);
                }
            }
            return(true);
        }
Пример #9
0
        /// <summary>
        /// 設定作品是否加入包裝
        /// </summary>
        /// <param name="PackagesNo">包裝序號</param>
        /// <param name="WorksNo">作品序號</param>
        /// <param name="ShowJoin">是否加入包裝</param>
        /// <returns></returns>
        public static bool SetPackageItemJoin(string PackagesNo, string WorksNo, bool ShowJoin)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var Guid_PackagesNo = Guid.Parse(PackagesNo.ToUpper());
                var Guid_WorksNo    = Guid.Parse(WorksNo.ToUpper());
                var PackageItemList = context.PackageItems.AsQueryable().Where(x => x.PackagesNo == Guid_PackagesNo && x.WorksNo == Guid_WorksNo).Select(c => c).ToList();

                if (PackageItemList != null | PackageItemList.Count > 0)
                {
                    foreach (PackageItems _PackageItem in PackageItemList)
                    {
                        _PackageItem.IsJoin   = ShowJoin ? "Y" : "N";
                        _PackageItem.JoinDate = DateTime.Now;
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #10
0
        /// <summary>
        /// 刪除檔案By 序號清單
        /// </summary>
        /// <param name="WorksFilesNoList">檔案序號清單</param>
        /// <returns></returns>
        public static bool DelFile(List <long> WorksFilesNoList)
        {
            CloudStorageAccount storageAccount   = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
            CloudBlobClient     _CloudBlobClient = storageAccount.CreateCloudBlobClient();
            CloudBlobContainer  container        = _CloudBlobClient.GetContainerReference("worksimg");

            long[] WorksFilesNoArray = WorksFilesNoList.ToArray();
            if (WorksFilesNoArray != null && WorksFilesNoArray.Length > 0)
            {
                using (var context = new EG_MagicCubeEntities())
                {
                    var WorksFilesList = context.WorksFiles.AsQueryable().Where(c => WorksFilesNoArray.Contains(c.WorksFilesNo)).Select(c => c).ToList();
                    if (WorksFilesList != null)
                    {
                        foreach (var _WorksFiles in WorksFilesList)
                        {
                            string         filename_o = _WorksFiles.File_o_Url.Substring(_WorksFiles.File_o_Url.LastIndexOf("/") + 1);
                            CloudBlockBlob blockBlob  = container.GetBlockBlobReference(filename_o);
                            if (blockBlob.Exists())
                            {
                                blockBlob.Delete();
                            }
                            string         filename_m  = _WorksFiles.File_m_Url.Substring(_WorksFiles.File_m_Url.LastIndexOf("/") + 1);
                            CloudBlockBlob blockBlob_m = container.GetBlockBlobReference(filename_m);
                            if (blockBlob_m.Exists())
                            {
                                blockBlob_m.Delete();
                            }
                            string         filename_s  = _WorksFiles.File_s_Url.Substring(_WorksFiles.File_s_Url.LastIndexOf("/") + 1);
                            CloudBlockBlob blockBlob_s = container.GetBlockBlobReference(filename_s);
                            if (blockBlob_s.Exists())
                            {
                                blockBlob_s.Delete();
                            }
                            context.WorksFiles.Remove(_WorksFiles);
                        }
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
            }
            else
            {
                return(false);
            }

            return(true);
        }
Пример #11
0
        /// <summary>
        /// 以包裝資料更新
        /// </summary>
        /// <param name="newPackages">新包裝資料</param>
        /// <returns></returns>
        public static bool Update(PackagesModel newPackages)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var Guid_PackagesNo = Guid.Parse(newPackages.PackagesNo.ToUpper());
                var oldPackages     = context.Packages.AsQueryable().First(x => x.PackagesNo == Guid_PackagesNo);
                if (oldPackages != null)
                {
                    if (!string.IsNullOrEmpty(newPackages.PackagesName))
                    {
                        oldPackages.PackagesName = newPackages.PackagesName;
                    }
                    oldPackages.PackingDate  = newPackages.PackingDate;
                    oldPackages.EndDate      = newPackages.EndDate;
                    oldPackages.ModifyUser   = HttpContext.Current?.User?.Identity?.Name ?? "";
                    oldPackages.ModifyDate   = newPackages.ModifyDate;
                    oldPackages.PackagesMemo = newPackages.PackagesMemo;
                    oldPackages.SearchJson   = newPackages.SearchJson;
                    oldPackages.Budget       = newPackages.Budget;
                    var _PackageItems = context.PackageItems.AsQueryable().Where(c => c.PackagesNo == oldPackages.PackagesNo).ToList();
                    foreach (PackageItemModel _PackageItemModel in newPackages.PackageItems)
                    {
                        var Guid_WorksNo     = Guid.Parse(_PackageItemModel.WorksNo.ToUpper());
                        int PackageItemCount = _PackageItems.Where(c => c.WorksNo == Guid_WorksNo).Count();
                        if (PackageItemCount == 0)
                        {
                            context.PackageItems.Add(new PackageItems()
                            {
                                PackagesNo = oldPackages.PackagesNo,
                                WorksNo    = Guid_WorksNo,
                                JoinDate   = DateTime.Now,
                                IsJoin     = _PackageItemModel.IsJoin,
                                DelDate    = new Nullable <DateTime>()
                            });
                        }
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #12
0
        /// <summary>
        /// 批次新增檔案
        /// </summary>
        /// <param name="WorksNo">作品序號</param>
        /// <param name="UploadWorksFiles">http檔案清單</param>
        /// <returns></returns>
        public static bool InsFile(string WorksNo, List <byte[]> UploadWorksFiles)
        {
            Guid Guid_WorksNo = Guid.Parse(WorksNo);

            if (UploadWorksFiles != null)
            {
                using (var context = new EG_MagicCubeEntities())
                {
                    foreach (byte[] _Files in UploadWorksFiles)
                    {
                        if (_Files != null)
                        {
                            //byte[] thePictureAsBytes = new byte[_Files.ContentLength];
                            ////string filebase64 = "";
                            //using (BinaryReader theReader = new BinaryReader(_Files.InputStream))
                            //{
                            //    thePictureAsBytes = theReader.ReadBytes(_Files.ContentLength);
                            //    //filebase64 = Convert.ToBase64String(thePictureAsBytes);
                            //}
                            string FileName_o = Math.Abs(Guid.NewGuid().GetHashCode()).ToString() + ".jpg";
                            string FileName_m = Math.Abs(Guid.NewGuid().GetHashCode()).ToString() + ".jpg";
                            string FileName_s = Math.Abs(Guid.NewGuid().GetHashCode()).ToString() + ".jpg";

                            byte[] FileBinary_o = ImgFileToFileBinary(new MagickImage(_Files), 0, 70);
                            byte[] FileBinary_m = ImgFileToFileBinary(new MagickImage(_Files), 800, 70);
                            byte[] FileBinary_s = ImgFileToFileBinary(new MagickImage(_Files), 200, 40);

                            string img_o_url = SaveToAzure(FileName_o, FileBinary_o);
                            string img_m_url = SaveToAzure(FileName_m, FileBinary_m);
                            string img_s_url = SaveToAzure(FileName_s, FileBinary_s);

                            context.WorksFiles.Add(new WorksFiles()
                            {
                                WorksNo = Guid_WorksNo, Sorting = 0, FileBase64Str = Convert.ToBase64String(FileBinary_s), File_o_Url = img_o_url, File_m_Url = img_m_url, File_s_Url = img_s_url
                            });
                        }
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
            }
            else
            {
                return(false);
            }
            return(true);
        }
Пример #13
0
 public static bool Delete(int UserAccountsNo)
 {
     using (var context = new EG_MagicCubeEntities())
     {
         var UserAccount = context.UserAccounts.FirstOrDefault(x => x.UserAccountsNo == UserAccountsNo);
         if (UserAccount != null)
         {
             UserAccount.IsDel      = "Y";
             UserAccount.ModifyUser = HttpContext.Current?.User?.Identity?.Name ?? "";
             UserAccount.ModifyDate = DateTime.Now;
             if (context.SaveChanges() == 0)
             {
                 return(false);
             }
         }
         else
         {
             return(false);
         }
     }
     return(true);
 }
Пример #14
0
        /// <summary>
        /// 更新包裝項目
        /// </summary>
        /// <param name="PackagesNo">包裝序號</param>
        /// <param name="PackageItemModelList">包裝項目清單</param>
        /// <returns></returns>
        public static bool UpdatePackageItem(string PackagesNo, List <PackageItemModel> PackageItemModelList)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var Guid_PackagesNo = Guid.Parse(PackagesNo.ToUpper());

                var oldPackages   = context.Packages.AsQueryable().First(x => x.PackagesNo == Guid_PackagesNo);
                var _PackageItems = context.PackageItems.AsQueryable().Where(c => c.PackagesNo == oldPackages.PackagesNo).ToList();
                if (oldPackages != null)
                {
                    foreach (PackageItemModel _PackageItemModel in PackageItemModelList)
                    {
                        var Guid_WorksNo     = Guid.Parse(_PackageItemModel.WorksNo.ToUpper());
                        int PackageItemCount = _PackageItems.Where(c => c.WorksNo == Guid_WorksNo).Count();
                        if (PackageItemCount == 0)
                        {
                            context.PackageItems.Add(new PackageItems()
                            {
                                PackagesNo = oldPackages.PackagesNo,
                                WorksNo    = Guid_WorksNo,
                                JoinDate   = DateTime.Now,
                                IsJoin     = _PackageItemModel.IsJoin,
                                DelDate    = new Nullable <DateTime>()
                            });
                        }
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #15
0
 public static bool Delete(int authorNo)
 {
     using (var context = new EG_MagicCubeEntities())
     {
         var author = context.Authors.FirstOrDefault(x => x.AuthorsNo == authorNo);
         if (author != null)
         {
             author.ModifyUser = HttpContext.Current?.User?.Identity?.Name ?? "";
             author.ModifyDate = DateTime.Now;
             author.IsDel      = "Y";
             if (context.SaveChanges() == 0)
             {
                 return(false);
             }
         }
         else
         {
             return(false);
         }
     }
     return(true);
 }
Пример #16
0
        /// <summary>
        /// 更新排序
        /// </summary>
        /// <param name="_FileSortingItemList"></param>
        /// <returns></returns>
        public static bool UpdateSorting(FileSortingItem [] _FileSortingItemList)
        {
            if (_FileSortingItemList != null)
            {
                using (var context = new EG_MagicCubeEntities())
                {
                    foreach (FileSortingItem _FileSortingItem in _FileSortingItemList)
                    {
                        var _File = context.WorksFiles.AsQueryable().FirstOrDefault(c => c.WorksFilesNo == _FileSortingItem.WorksFilesNo);
                        if (_File != null)
                        {
                            _File.Sorting = _FileSortingItem.Sorting;
                        }
                        if (context.SaveChanges() == 0)
                        {
                        }
                    }
                }
            }

            return(true);
        }
Пример #17
0
            public static bool BatchInsert(ET_MASTER [] ET_MASTERArray)
            {
                bool IsInsert = false;

                using (var context = new EG_MagicCubeEntities())
                {
                    foreach (var _ET_MASTER in ET_MASTERArray)
                    {
                        context.ET_MASTER.Add(new EG_MagicCubeEntity.ET_MASTER()
                        {
                            MATNR        = _ET_MASTER.MATNR,
                            ZZCT         = _ET_MASTER.ZZCT,
                            NAME1        = _ET_MASTER.NAME1,
                            ZFPRESERVE_D = _ET_MASTER.ZFPRESERVE_D,
                            ZZSE         = _ET_MASTER.ZZSE,
                            LOCATION     = _ET_MASTER.LOCATION,
                            STATUS       = _ET_MASTER.STATUS,
                            STPRS        = _ET_MASTER.STPRS,
                            NETPR        = _ET_MASTER.NETPR,
                            WAERS        = _ET_MASTER.WAERS,
                            ERDAT        = _ET_MASTER.ERDAT,
                            UDATE        = _ET_MASTER.UDATE,
                            CreateTime   = DateTime.Now,
                            IsNew        = "N",
                            IsSync       = "",
                            SyncTime     = null,
                            SyncUser     = ""
                        });
                    }
                    if (context.SaveChanges() == 0)
                    {
                        IsInsert = true;
                    }
                }
                return(IsInsert);
            }
Пример #18
0
        public static void 處理圖片()
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var _WorksList = context.Works.Select(c => c).OrderBy(c => c.MaterialsID).ToList();

                foreach (var _w in _WorksList)
                {
                    Console.WriteLine(_w.MaterialsID + " " + _w.WorksName);
                    string dirpath_o = @"D:\eslite\Doc\魔術方塊\資料匯入\img_20180109_o\" + _w.MaterialsID + @"\";
                    string dirpath_m = @"D:\eslite\Doc\魔術方塊\資料匯入\img_20180109_800\" + _w.MaterialsID + @"\";
                    string dirpath_s = @"D:\eslite\Doc\魔術方塊\資料匯入\img_20180109_200\" + _w.MaterialsID + @"\";
                    if (System.IO.Directory.Exists(dirpath_o))
                    {
                        Console.WriteLine(_w.MaterialsID);
                        foreach (System.IO.FileInfo _file in new System.IO.DirectoryInfo(dirpath_o).GetFiles())
                        {
                            string filepath = _file.FullName.ToUpper();
                            if (filepath.Contains(".JPG") || filepath.Contains(".JPEG") || filepath.Contains(".PNG") || filepath.Contains(".TIF"))
                            {
                                string img_o_url  = "";
                                string img_m_url  = "";
                                string img_s_url  = "";
                                string FileName_o = Math.Abs(Guid.NewGuid().GetHashCode()).ToString() + ".jpg";
                                string FileName_m = Math.Abs(Guid.NewGuid().GetHashCode()).ToString() + ".jpg";
                                string FileName_s = Math.Abs(Guid.NewGuid().GetHashCode()).ToString() + ".jpg";
                                System.IO.FileStream fileStream_o = new System.IO.FileStream(_file.FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                                System.IO.FileStream fileStream_m = new System.IO.FileStream(dirpath_m + _file.Name, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                                System.IO.FileStream fileStream_s = new System.IO.FileStream(dirpath_s + _file.Name, System.IO.FileMode.Open, System.IO.FileAccess.Read);

                                byte[] FileBinary_o = new byte[fileStream_o.Length];
                                using (System.IO.BinaryReader theReader = new System.IO.BinaryReader(fileStream_o))
                                {
                                    FileBinary_o = theReader.ReadBytes(int.Parse(fileStream_o.Length.ToString()));
                                    img_o_url    = WorksFilesModel.SaveToAzure(FileName_o, FileBinary_o);
                                    Console.WriteLine(img_o_url);
                                }
                                byte[] FileBinary_m = new byte[fileStream_m.Length];
                                using (System.IO.BinaryReader theReader = new System.IO.BinaryReader(fileStream_m))
                                {
                                    FileBinary_m = theReader.ReadBytes(int.Parse(fileStream_m.Length.ToString()));
                                    img_m_url    = WorksFilesModel.SaveToAzure(FileName_m, FileBinary_m);
                                    Console.WriteLine(img_m_url);
                                }
                                byte[] FileBinary_s = new byte[fileStream_s.Length];
                                using (System.IO.BinaryReader theReader = new System.IO.BinaryReader(fileStream_s))
                                {
                                    FileBinary_s = theReader.ReadBytes(int.Parse(fileStream_s.Length.ToString()));
                                    img_s_url    = WorksFilesModel.SaveToAzure(FileName_s, FileBinary_s);
                                    Console.WriteLine(img_s_url);
                                }

                                context.WorksFiles.Add(new WorksFiles()
                                {
                                    WorksNo = _w.WorksNo, Sorting = 0, FileBase64Str = Convert.ToBase64String(FileBinary_s), File_o_Url = img_o_url, File_m_Url = img_m_url, File_s_Url = img_s_url
                                });
                                context.SaveChanges();
                                fileStream_o.Close();
                                fileStream_o.Dispose();
                                fileStream_m.Close();
                                fileStream_m.Dispose();
                                fileStream_s.Close();
                                fileStream_s.Dispose();
                            }
                        }
                    }
                }
                Console.ReadLine();
            }
        }
Пример #19
0
        /// <summary>
        /// 更新作品資料
        /// </summary>
        /// <param name="newWorks">新作品資料</param>
        /// <returns></returns>
        public static bool Update(WorksModel newWorks)
        {
            Guid Guid_WorksNo = Guid.Parse(newWorks.WorksNo.ToUpper());

            using (var context = new EG_MagicCubeEntities())
            {
                var oldWorks = context.Works.AsQueryable().First(x => x.WorksNo == Guid_WorksNo);
                if (oldWorks != null)
                {
                    if (oldWorks.WorksModules != null)
                    {
                        foreach (WorksModules _WorksModules in oldWorks.WorksModules.ToList())
                        {
                            var del_WorksModules = context.WorksModules.AsQueryable().FirstOrDefault(c => c.WorksModulesNo == _WorksModules.WorksModulesNo);
                            context.WorksModules.Remove(del_WorksModules);
                        }
                    }
                    if (oldWorks.WorksAuthors != null)
                    {
                        foreach (WorksAuthors _WorksAuthors in oldWorks.WorksAuthors.ToList())
                        {
                            var del_WorksAuthors = context.WorksAuthors.AsQueryable().FirstOrDefault(c => c.Works_Author_No == _WorksAuthors.Works_Author_No);
                            context.WorksAuthors.Remove(del_WorksAuthors);
                        }
                    }
                    if (oldWorks.WorksPropGenre != null)
                    {
                        foreach (WorksPropGenre _WorksPropGenre in oldWorks.WorksPropGenre.ToList())
                        {
                            var del_WorksPropGenre = context.WorksPropGenre.AsQueryable().FirstOrDefault(c => c.WorksPropGenreNo == _WorksPropGenre.WorksPropGenreNo);
                            context.WorksPropGenre.Remove(del_WorksPropGenre);
                        }
                    }
                    if (oldWorks.WorksPropStyle != null)
                    {
                        foreach (WorksPropStyle _WorksPropStyle in oldWorks.WorksPropStyle.ToList())
                        {
                            var del_WorksPropStyle = context.WorksPropStyle.AsQueryable().FirstOrDefault(c => c.WorksPropStyleNo == _WorksPropStyle.WorksPropStyleNo);
                            context.WorksPropStyle.Remove(del_WorksPropStyle);
                        }
                    }
                    if (oldWorks.WorksPropOwner != null)
                    {
                        foreach (WorksPropOwner _WorksPropOwner in oldWorks.WorksPropOwner.ToList())
                        {
                            var del_WorksPropOwner = context.WorksPropOwner.AsQueryable().FirstOrDefault(c => c.WorksPropOwnerNo == _WorksPropOwner.WorksPropOwnerNo);
                            context.WorksPropOwner.Remove(del_WorksPropOwner);
                        }
                    }
                    if (oldWorks.WorksPropWareType != null)
                    {
                        foreach (WorksPropWareType _WorksPropWareType in oldWorks.WorksPropWareType.ToList())
                        {
                            var del_WorksPropWareType = context.WorksPropWareType.AsQueryable().FirstOrDefault(c => c.WorksPropWareTypeNo == _WorksPropWareType.WorksPropWareTypeNo);
                            context.WorksPropWareType.Remove(del_WorksPropWareType);
                        }
                    }
                }
                oldWorks.MaterialsID     = newWorks.MaterialsID;
                oldWorks.AuthorsNo       = newWorks.AuthorsNo;
                oldWorks.WorksName       = newWorks.WorksName;
                oldWorks.YearStart       = newWorks.YearStart;
                oldWorks.YearEnd         = newWorks.YearEnd;
                oldWorks.Cost            = newWorks.Cost;
                oldWorks.Price           = newWorks.Price;
                oldWorks.GrossMargin     = newWorks.GrossMargin = Math.Round((((Convert.ToDouble((newWorks.Price / double.Parse("1.05"))) - Convert.ToDouble(newWorks.Cost)) / Convert.ToDouble((newWorks.Price / double.Parse("1.05")))) * Convert.ToDouble(100)), 3);;
                oldWorks.PricingDate     = newWorks.PricingDate;
                oldWorks.Artisticability = newWorks.Artisticability;
                oldWorks.Marketability   = newWorks.Marketability;
                oldWorks.Packageability  = newWorks.Packageability;
                oldWorks.Valuability     = newWorks.Valuability;
                oldWorks.ModifyUser      = HttpContext.Current?.User?.Identity?.Name ?? "";
                oldWorks.ModifyDate      = System.DateTime.Now;
                oldWorks.Remarks         = newWorks.Remarks;
                oldWorks.Rating          = CalculateWorksRating(newWorks).ToString();
                foreach (int _AuthorNo in newWorks.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                {
                    var _Authors       = context?.Authors?.FirstOrDefault(c => c.AuthorsNo == _AuthorNo);
                    int _WorksAmount   = (context?.WorksAuthors?.AsQueryable().Where(c => c.Author_No == _AuthorNo).Count()).Value;
                    int _AuthorsRating = AuthorsModel.CalculateAuthorsRating(_WorksAmount);
                    _Authors.Rating      = _AuthorsRating.ToString();
                    _Authors.WorksAmount = _WorksAmount;
                }
                //組件
                foreach (WorksModuleModel _WorksModuleModel in newWorks.WorksModuleList)
                {
                    WorksModules _WorksModules = new WorksModules();
                    _WorksModules.WorksNo  = oldWorks.WorksNo;
                    _WorksModules.Material = _WorksModuleModel.Material.MenuID;
                    _WorksModules.Measure  = _WorksModuleModel.Measure;

                    _WorksModules.Length     = _WorksModuleModel.Length;
                    _WorksModules.Width      = _WorksModuleModel.Width;
                    _WorksModules.Height     = _WorksModuleModel.Height;
                    _WorksModules.Deep       = _WorksModuleModel.Deep;
                    _WorksModules.TimeLength = _WorksModuleModel.TimeLength ?? "";

                    _WorksModules.Amount    = _WorksModuleModel.Amount;
                    _WorksModules.CountNoun = _WorksModuleModel.CountNoun.MenuID;
                    context.WorksModules.Add(_WorksModules);
                }
                //foreach (HttpPostedFileBase _Files in newWorks.UploadWorksFiles)
                //{
                //    if (_Files != null)
                //    {
                //        WorksFilesModel.InsFile(oldWorks.WorksNo.ToString(), _Files);
                //        //context.WorksFiles.Add(new WorksFiles() { WorksNo = oldWorks.WorksNo, FileBase64Str = FileUrl });
                //    }
                //}
                //藝術家
                if (newWorks.AuthorNo_InputString.Count != 0)
                {
                    foreach (int _AuthorNo in newWorks.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksAuthors.Add(new WorksAuthors()
                        {
                            Works_No = oldWorks.WorksNo, Author_No = _AuthorNo
                        });
                    }
                }

                //類型
                if (newWorks.GenreNo_InputString.Count != 0)
                {
                    foreach (int _GenreNo in newWorks.GenreNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropGenre.Add(new WorksPropGenre()
                        {
                            WorksNo = oldWorks.WorksNo, GenreNo = _GenreNo
                        });
                    }
                }

                //風格
                if (newWorks.StyleNo_InputString.Count != 0)
                {
                    foreach (int _StyleNo in newWorks.StyleNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropStyle.Add(new WorksPropStyle()
                        {
                            WorksNo = oldWorks.WorksNo, StyleNo = _StyleNo
                        });
                    }
                }

                //擁有者
                if (newWorks.OwnerNo_InputString.Count != 0)
                {
                    foreach (int _OwnerNo in newWorks.OwnerNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropOwner.Add(new WorksPropOwner()
                        {
                            WorksNo = oldWorks.WorksNo, OwnerNo = _OwnerNo
                        });
                    }
                }

                //庫別
                if (newWorks.WareTypeNo_InputString.Count != 0)
                {
                    foreach (int _WareTypeNo in newWorks.WareTypeNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropWareType.Add(new WorksPropWareType()
                        {
                            WorksNo = oldWorks.WorksNo, WareTypeNo = _WareTypeNo
                        });
                    }
                }
                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
                else
                {
                    foreach (int _AuthorNo in newWorks.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        var _Authors       = context?.Authors?.FirstOrDefault(c => c.AuthorsNo == _AuthorNo);
                        int _WorksAmount   = (context?.WorksAuthors?.AsQueryable().Where(c => c.Author_No == _AuthorNo).Count()).Value;
                        int _AuthorsRating = AuthorsModel.CalculateAuthorsRating(_WorksAmount);
                        _Authors.Rating      = _AuthorsRating.ToString();
                        _Authors.WorksAmount = _WorksAmount;
                        context.SaveChanges();
                    }
                }
            }

            return(true);
        }
Пример #20
0
        /// <summary>
        /// 刪除作品
        /// </summary>
        /// <param name="WorksNo"></param>
        /// <returns></returns>
        public static bool Delete(string WorksNo)
        {
            Guid Guid_WorksNo = Guid.Parse(WorksNo.ToUpper());

            using (var context = new EG_MagicCubeEntities())
            {
                var works = context.Works.AsQueryable().FirstOrDefault(x => x.WorksNo == Guid_WorksNo);
                if (works != null)
                {
                    works.IsDel      = "Y";
                    works.ModifyUser = HttpContext.Current?.User?.Identity?.Name ?? "";
                    works.ModifyDate = DateTime.Now;
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }

                //if (works == null)
                //{
                //    return false;
                //}
                //else
                //{
                //    if (works.WorksModules != null)
                //    {
                //        foreach (WorksModules _WorksModules in works.WorksModules)
                //        {
                //            context.WorksModules.Remove(_WorksModules);
                //        }
                //    }
                //    if (works.WorksAuthors != null)
                //    {
                //        foreach (WorksAuthors _WorksAuthors in works.WorksAuthors)
                //        {
                //            context.WorksAuthors.Remove(_WorksAuthors);
                //        }
                //    }
                //    if (works.WorksPropGenre != null)
                //    {
                //        foreach (WorksPropGenre _WorksPropGenre in works.WorksPropGenre)
                //        {
                //            context.WorksPropGenre.Remove(_WorksPropGenre);
                //        }
                //    }
                //    if (works.WorksPropStyle != null)
                //    {
                //        foreach (WorksPropStyle _WorksPropStyle in works.WorksPropStyle)
                //        {
                //            context.WorksPropStyle.Remove(_WorksPropStyle);
                //        }
                //    }
                //    if (works.WorksPropOwner != null)
                //    {
                //        foreach (WorksPropOwner _WorksPropOwner in works.WorksPropOwner)
                //        {
                //            context.WorksPropOwner.Remove(_WorksPropOwner);
                //        }
                //    }
                //    if (works.WorksPropWareType != null)
                //    {
                //        foreach (WorksPropWareType _WorksPropWareType in works.WorksPropWareType)
                //        {
                //            context.WorksPropWareType.Remove(_WorksPropWareType);
                //        }
                //    }
                //    if (works.WorksFiles != null)
                //    {
                //        foreach (WorksFiles _WorksFiles in works.WorksFiles)
                //        {
                //            context.WorksFiles.Remove(_WorksFiles);
                //        }
                //    }
                //}
                //context.Works.Remove(works);
                //if (context.SaveChanges() == 0)
                //{
                //    return false;
                //}
            }

            return(true);
        }
Пример #21
0
        /// <summary>
        /// 刪除
        /// </summary>
        /// <param name="_MenuClass"></param>
        /// <param name="_MenuViewModelList"></param>
        /// <returns></returns>
        public static bool DeleteMenu(MenuClassEnum _MenuClass, List <MenuViewModel> _MenuViewModelList)
        {
            string MenuClassName = Enum.GetName(typeof(MenuClassEnum), _MenuClass);

            using (var context = new EG_MagicCubeEntities())
            {
                switch (_MenuClass)
                {
                case MenuClassEnum.AuthorArea:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_AuthorsArea = context.Menu_AuthorsArea.FirstOrDefault(x => x.AuthorsAreaNo == _MenuViewModel.MenuID);
                        if (delobj_AuthorsArea != null)
                        {
                            delobj_AuthorsArea.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.AuthorTag:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_AuthorsTag = context.Menu_AuthorsTag.FirstOrDefault(x => x.AuthorsTagNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_AuthorsTag != null)
                        {
                            delobj_Menu_AuthorsTag.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.CountNoun:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_CountNoun = context.Menu_CountNoun.FirstOrDefault(x => x.CountNounNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_CountNoun != null)
                        {
                            delobj_Menu_CountNoun.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.Genre:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_Genre = context.Menu_Genre.FirstOrDefault(x => x.GenreNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_Genre != null)
                        {
                            delobj_Menu_Genre.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.Material:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_Material = context.Menu_Material.FirstOrDefault(x => x.MaterialNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_Material != null)
                        {
                            delobj_Menu_Material.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.Style:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_Style = context.Menu_Style.FirstOrDefault(x => x.StyleNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_Style != null)
                        {
                            delobj_Menu_Style.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.WareType:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_WareType = context.Menu_WareType.FirstOrDefault(x => x.WareTypeNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_WareType != null)
                        {
                            delobj_Menu_WareType.IsDel = "Y";
                        }
                    }
                    break;

                case MenuClassEnum.Owner:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        var delobj_Menu_Owner = context.Menu_Owner.FirstOrDefault(x => x.OwnerNo == _MenuViewModel.MenuID);
                        if (delobj_Menu_Owner != null)
                        {
                            delobj_Menu_Owner.IsDel = "Y";
                        }
                    }
                    break;
                }
                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #22
0
        public static bool UpdateMenu(MenuClassEnum _MenuClass, string MenuNo, string MenuName)
        {
            int _MenuNo = int.Parse(MenuNo);

            using (var context = new EG_MagicCubeEntities())
            {
                string MenuClassName = Enum.GetName(typeof(MenuClassEnum), _MenuClass);
                switch (_MenuClass)
                {
                case MenuClassEnum.AuthorArea:
                    var AuthorArea = context.Menu_AuthorsArea.First(c => c.AuthorsAreaNo == _MenuNo);
                    if (AuthorArea != null)
                    {
                        AuthorArea.AuthorsAreaName = MenuName;
                    }
                    break;

                case MenuClassEnum.AuthorTag:
                    var AuthorTag = context.Menu_AuthorsTag.First(c => c.AuthorsTagNo == _MenuNo);
                    if (AuthorTag != null)
                    {
                        AuthorTag.AuthorsTagName = MenuName;
                    }
                    break;

                case MenuClassEnum.CountNoun:
                    var CountNoun = context.Menu_CountNoun.First(c => c.CountNounNo == _MenuNo);
                    if (CountNoun != null)
                    {
                        CountNoun.CountNounName = MenuName;
                    }
                    break;

                case MenuClassEnum.Genre:
                    var Genre = context.Menu_Genre.First(c => c.GenreNo == _MenuNo);
                    if (Genre != null)
                    {
                        Genre.GenreName = MenuName;
                    }
                    break;

                case MenuClassEnum.Material:
                    var Material = context.Menu_Material.First(c => c.MaterialNo == _MenuNo);
                    if (Material != null)
                    {
                        Material.MaterialName = MenuName;
                    }
                    break;

                case MenuClassEnum.Style:
                    var Style = context.Menu_Style.First(c => c.StyleNo == _MenuNo);
                    if (Style != null)
                    {
                        Style.StyleName = MenuName;
                    }
                    break;

                case MenuClassEnum.WareType:
                    var WareType = context.Menu_WareType.First(c => c.WareTypeNo == _MenuNo);
                    if (WareType != null)
                    {
                        WareType.WareTypeName = MenuName;
                    }
                    break;

                case MenuClassEnum.Owner:
                    var Owner = context.Menu_Owner.First(c => c.OwnerNo == _MenuNo);
                    if (Owner != null)
                    {
                        Owner.OwnerName = MenuName;
                    }
                    break;

                case MenuClassEnum.AccountRole:
                    var AccountRole = context.UserAccountRoles.First(c => c.RoleNo == _MenuNo);
                    if (AccountRole != null)
                    {
                        AccountRole.RoleName = MenuName;
                    }
                    break;
                }
                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #23
0
        /// <summary>
        /// 新增Menu
        /// </summary>
        /// <param name="_MenuClass">Meun類型</param>
        /// <param name="_MenuViewModelList"></param>
        /// <returns></returns>
        public bool InsertMenu(MenuClassEnum _MenuClass, List <MenuViewModel> _MenuViewModelList)
        {
            string MenuClassName = Enum.GetName(typeof(MenuClassEnum), _MenuClass);

            using (var context = new EG_MagicCubeEntities())
            {
                switch (_MenuClass)
                {
                case MenuClassEnum.AuthorArea:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_AuthorsArea.Add(new Menu_AuthorsArea()
                        {
                            AuthorsAreaNo = _MenuViewModel.MenuID, AuthorsAreaName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.AuthorTag:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_AuthorsTag.Add(new Menu_AuthorsTag()
                        {
                            AuthorsTagNo = _MenuViewModel.MenuID, AuthorsTagName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.CountNoun:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_CountNoun.Add(new Menu_CountNoun()
                        {
                            CountNounNo = _MenuViewModel.MenuID, CountNounName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.Genre:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_Genre.Add(new Menu_Genre()
                        {
                            GenreNo = _MenuViewModel.MenuID, GenreName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.Material:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_Material.Add(new Menu_Material()
                        {
                            MaterialNo = _MenuViewModel.MenuID, MaterialName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.Style:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_Style.Add(new Menu_Style()
                        {
                            StyleNo = _MenuViewModel.MenuID, StyleName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.WareType:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_WareType.Add(new Menu_WareType()
                        {
                            WareTypeNo = _MenuViewModel.MenuID, WareTypeName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;

                case MenuClassEnum.Owner:
                    foreach (MenuViewModel _MenuViewModel in _MenuViewModelList)
                    {
                        context.Menu_Owner.Add(new Menu_Owner()
                        {
                            OwnerNo = _MenuViewModel.MenuID, OwnerName = _MenuViewModel.MenuName, IsDel = ""
                        });
                    }
                    break;
                }
                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #24
0
        /// <summary>
        /// 以新藝術家資料更新
        /// </summary>
        /// <param name="newAuthors">新藝術家資料</param>
        /// <returns></returns>
        public static bool Update(AuthorsModel newAuthors)
        {
            using (var context = new EG_MagicCubeEntities())
            {
                var oldAuthors = context.Authors.AsQueryable().First(x => x.AuthorsNo == newAuthors.AuthorsNo);

                if (oldAuthors.AuthorsPropArea != null)
                {
                    foreach (AuthorsPropArea _AuthorsPropArea in oldAuthors.AuthorsPropArea.ToList())
                    {
                        var del_AuthorsPropArea = context.AuthorsPropArea.AsQueryable().FirstOrDefault(c => c.AuthorsPropAreaNo == _AuthorsPropArea.AuthorsPropAreaNo);
                        context.AuthorsPropArea.Remove(del_AuthorsPropArea);
                    }
                }
                if (oldAuthors.AuthorsPropTag != null)
                {
                    foreach (AuthorsPropTag _AuthorsPropTag in oldAuthors.AuthorsPropTag.ToList())
                    {
                        var del_del_AuthorsPropTag = context.AuthorsPropTag.AsQueryable().FirstOrDefault(c => c.AuthorsPropTagNo == _AuthorsPropTag.AuthorsPropTagNo);
                        context.AuthorsPropTag.Remove(del_del_AuthorsPropTag);
                    }
                }

                if (oldAuthors != null)
                {
                    oldAuthors.MaterialsID  = newAuthors.MaterialsID ?? "";
                    oldAuthors.AuthorsCName = newAuthors.AuthorsCName ?? "";
                    oldAuthors.AuthorsEName = newAuthors.AuthorsEName ?? "";
                    oldAuthors.ModifyUser   = HttpContext.Current?.User?.Identity?.Name ?? "";
                    oldAuthors.ModifyDate   = DateTime.Now;
                    oldAuthors.Rating       = newAuthors.Rating ?? "";
                    oldAuthors.WorksAmount  = newAuthors.WorksAmount;
                }
                if (newAuthors.AuthorsAreaNo_InputString.Count > 0)
                {
                    foreach (int _AuthorsAreaNo in newAuthors.AuthorsAreaNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.AuthorsPropArea.Add(new AuthorsPropArea()
                        {
                            AuthorsNo = newAuthors.AuthorsNo, AuthorsAreaNo = _AuthorsAreaNo
                        });
                    }
                }
                if (newAuthors.AuthorsTagNo_InputString.Count > 0)
                {
                    foreach (int _AuthorsTagNo in newAuthors.AuthorsTagNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.AuthorsPropTag.Add(new AuthorsPropTag()
                        {
                            AuthorsNo = newAuthors.AuthorsNo, AuthorsTagNo = _AuthorsTagNo
                        });
                    }
                }

                if (context.SaveChanges() == 0)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #25
0
        /// <summary>
        /// 新增作品
        /// </summary>
        /// <returns></returns>
        public bool Create()
        {
            using (var context = new EG_MagicCubeEntities())
            {
                Works _Works = new Works();
                _Works.WorksNo     = Guid.NewGuid();
                this.WorksNo       = _Works.WorksNo.ToString();
                _Works.MaterialsID = this.MaterialsID;
                _Works.AuthorsNo   = this.AuthorsNo;
                _Works.WorksName   = this.WorksName;
                _Works.YearStart   = this.YearStart;
                _Works.YearEnd     = this.YearEnd;
                _Works.Cost        = this.Cost;
                _Works.Price       = this.Price;
                _Works.GrossMargin = Math.Round((((Convert.ToDouble((this.Price / double.Parse("1.05"))) - Convert.ToDouble(this.Cost)) / Convert.ToDouble((this.Price / double.Parse("1.05")))) * Convert.ToDouble(100)), 3);
                if (double.IsNaN(_Works.GrossMargin))
                {
                    _Works.GrossMargin = 0.0;
                }
                _Works.PricingDate     = DateTime.Now;
                _Works.Artisticability = this.Artisticability;
                _Works.Marketability   = this.Marketability;
                _Works.Packageability  = this.Packageability;
                _Works.Valuability     = this.Valuability;
                _Works.CreateUser      = this.CreateUser;
                _Works.CreateDate      = DateTime.Now;
                _Works.ModifyUser      = this.ModifyUser;
                _Works.ModifyDate      = DateTime.Now;
                _Works.Remarks         = this.Remarks;
                _Works.Rating          = CalculateWorksRating(this).ToString();
                _Works.IsDel           = "";

                context.Works.Add(_Works);

                if (context.SaveChanges() > 0)
                {
                    //組件
                    foreach (WorksModuleModel _WorksModuleModel in this.WorksModuleList)
                    {
                        WorksModules _WorksModules = new WorksModules();
                        _WorksModules.WorksNo  = _Works.WorksNo;
                        _WorksModules.Material = _WorksModuleModel.Material.MenuID;
                        _WorksModules.Measure  = _WorksModuleModel.Measure;

                        _WorksModules.Length     = _WorksModuleModel.Length;
                        _WorksModules.Width      = _WorksModuleModel.Width;
                        _WorksModules.Height     = _WorksModuleModel.Height;
                        _WorksModules.Deep       = _WorksModuleModel.Deep;
                        _WorksModules.TimeLength = _WorksModuleModel.TimeLength ?? "";

                        _WorksModules.Amount    = _WorksModuleModel.Amount;
                        _WorksModules.CountNoun = _WorksModuleModel.CountNoun.MenuID;
                        context.WorksModules.Add(_WorksModules);
                    }
                    //圖片
                    //foreach (HttpPostedFileBase _Files in this.UploadWorksFiles)
                    //{
                    //    if (_Files != null)
                    //    {
                    //        WorksFilesModel.InsFile(_Works.WorksNo.ToString(), _Files);
                    //        //context.WorksFiles.Add(new WorksFiles() { WorksNo = _Works.WorksNo, FileBase64Str = FileUrl });
                    //    }

                    //}
                    //藝術家
                    foreach (int _AuthorNo in this.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksAuthors.Add(new WorksAuthors()
                        {
                            Works_No = _Works.WorksNo, Author_No = _AuthorNo
                        });
                    }
                    //類型
                    foreach (int _GenreNo in this.GenreNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropGenre.Add(new WorksPropGenre()
                        {
                            WorksNo = _Works.WorksNo, GenreNo = _GenreNo
                        });
                    }
                    //風格
                    foreach (int _StyleNo in this.StyleNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropStyle.Add(new WorksPropStyle()
                        {
                            WorksNo = _Works.WorksNo, StyleNo = _StyleNo
                        });
                    }
                    //擁有者
                    foreach (int _OwnerNo in this.OwnerNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropOwner.Add(new WorksPropOwner()
                        {
                            WorksNo = _Works.WorksNo, OwnerNo = _OwnerNo
                        });
                    }
                    //庫別
                    foreach (int _WareTypeNo in this.WareTypeNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                    {
                        context.WorksPropWareType.Add(new WorksPropWareType()
                        {
                            WorksNo = _Works.WorksNo, WareTypeNo = _WareTypeNo
                        });
                    }
                    if (context.SaveChanges() == 0)
                    {
                        return(false);
                    }
                    else
                    {
                        foreach (int _AuthorNo in this.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                        {
                            var _Authors       = context?.Authors?.FirstOrDefault(c => c.AuthorsNo == _AuthorNo);
                            int _WorksAmount   = (context?.WorksAuthors?.AsQueryable().Where(c => c.Author_No == _AuthorNo).Count()).Value;
                            int _AuthorsRating = AuthorsModel.CalculateAuthorsRating(_WorksAmount);
                            _Authors.Rating      = _AuthorsRating.ToString();
                            _Authors.WorksAmount = _WorksAmount;
                            context.SaveChanges();
                        }
                    }
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }