Example #1
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);
        }
Example #2
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);
        }
Example #3
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);
            }
Example #4
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);
        }
Example #5
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);
        }
Example #6
0
        /// <summary>
        /// 取得帳號明細
        /// </summary>
        /// <param name="UserAccountsNo"></param>
        /// <returns></returns>
        public static AccountModel GetAccountModelDetail(string UserAccountsNo)
        {
            AccountModel _AccountModel      = new AccountModel();
            int          int_UserAccountsNo = int.Parse(UserAccountsNo);

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.UserAccounts.Count() > 0)
                {
                    _AccountModel = context.UserAccounts.AsEnumerable().Where(c => c.IsDel != "Y" && c.UserAccountsNo == int_UserAccountsNo).Select(c =>
                                                                                                                                                    new AccountModel()
                    {
                        UserAccountsNo   = c.UserAccountsNo,
                        Name             = c.Name,
                        UserAccount      = c.UserAccount,
                        Password         = c.Password,
                        Password_Confirm = c.Password,
                        Pwdself          = c.Password,

                        AccountStatus = c.AccountStatus,
                        AccountNote   = c.AccountNote,
                        RoleNo        = c.RoleNo,
                        CreateDate    = c.CreateDate,
                        CreateUser    = c.CreateUser,
                        ModifyDate    = c.ModifyDate.Value,
                        ModifyUser    = c.ModifyUser,
                        ErrorCount    = c.ErrorCount
                    }).FirstOrDefault();
                }
            }
            return(_AccountModel);
        }
Example #7
0
        /// <summary>
        /// 登入
        /// </summary>
        /// <param name="strAccount">帳號</param>
        /// <param name="strPwd">密碼</param>
        /// <param name="IsAccount">帳號是否存在</param>
        /// <param name="IsPwd">帳號是否正確</param>
        /// <returns></returns>
        public static AccountModel Login(string strAccount, string strPwd, out bool IsAccount, out bool IsPwd)
        {
            IsPwd     = false;
            IsAccount = true;
            AccountModel _AccountModel = null;

            using (var context = new EG_MagicCubeEntities())
            {
                var UserAccount = context.UserAccounts?.AsQueryable()?.FirstOrDefault(c => c.IsDel != "Y" && c.UserAccount == strAccount);

                if (UserAccount != null)
                {
                    //判斷密碼是否正確
                    IsPwd         = PasswordHandler.CompareEncryptHashString(strPwd, UserAccount.Pwdself, UserAccount.Password);
                    _AccountModel = new AccountModel()
                    {
                        UserAccountsNo   = UserAccount.UserAccountsNo,
                        Name             = UserAccount.Name,
                        UserAccount      = UserAccount.UserAccount,
                        Password         = UserAccount.Password,
                        Password_Confirm = UserAccount.Password,
                        Pwdself          = UserAccount.Pwdself,
                        ErrorCount       = UserAccount.ErrorCount,
                        AccountStatus    = UserAccount.AccountStatus,
                        AccountNote      = UserAccount.AccountNote,
                        RoleNo           = UserAccount.RoleNo,
                        CreateDate       = UserAccount.CreateDate,
                        CreateUser       = UserAccount.CreateUser,
                        ModifyDate       = UserAccount.ModifyDate.Value,
                        ModifyUser       = UserAccount.ModifyUser
                    };
                    //密碼正確且錯誤次數小於10
                    if (IsPwd && _AccountModel.ErrorCount < 10)
                    {
                        if (_AccountModel.AccountStatus != "L")
                        {
                            _AccountModel.ErrorCount = 0;
                            AccountModel.Update(_AccountModel);
                        }
                    }
                    else
                    {
                        _AccountModel.ErrorCount = _AccountModel.ErrorCount + 1;
                        if (_AccountModel.ErrorCount >= 10)
                        {
                            _AccountModel.AccountStatus = "L";
                        }
                        AccountModel.Update(_AccountModel);
                    }

                    IsAccount = true;
                }
                else
                {
                    IsAccount = false;
                }
            }

            return(_AccountModel);
        }
Example #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);
        }
Example #9
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);
        }
Example #10
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);
        }
Example #11
0
        /// <summary>
        /// 取得包裝明細
        /// </summary>
        /// <param name="PackagesNo">包裝編號</param>
        /// <returns></returns>
        public static PackagesModel GetPackageDetail(string PackagesNo)
        {
            PackagesModel _PackagesModel = new PackagesModel();

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.Packages.Count() > 0)
                {
                    var Guid_PackagesNo = Guid.Parse(PackagesNo.ToUpper());
                    var r_Packages      = context?.Packages?.AsQueryable()?.Where(f => f.IsDel != "Y" && f.PackagesNo == Guid_PackagesNo).Select(c => c).FirstOrDefault();

                    if (r_Packages != null)
                    {
                        var _PackageItems   = context?.PackageItems?.AsQueryable()?.Where(pi => pi.PackagesNo == r_Packages.PackagesNo && pi.Works.IsDel != "Y").Select(c => c).ToList();
                        int _ItemAmount     = 0;
                        int _JoinItemAmount = 0;
                        int _Summary        = 0;
                        int _SumCost        = 0;
                        _ItemAmount                 = (_PackageItems?.Count()).Value;
                        _JoinItemAmount             = (_PackageItems?.Where(pi => pi.IsJoin == "Y").Count()).Value;
                        _Summary                    = _PackageItems.Where(pi => pi.IsJoin == "Y").Select(c => c.Works.Price).Sum();
                        _SumCost                    = _PackageItems.Where(pi => pi.IsJoin == "Y").Select(c => c.Works.Cost).Sum();
                        _PackagesModel.PackagesNo   = r_Packages.PackagesNo.ToString();
                        _PackagesModel.QRImg        = "";
                        _PackagesModel.PackagesName = r_Packages.PackagesName;
                        _PackagesModel.EndDate      = r_Packages.EndDate;
                        _PackagesModel.PackingDate  = r_Packages.PackingDate;
                        _PackagesModel.CreateDate   = r_Packages.CreateDate;
                        _PackagesModel.CreateUser   = r_Packages.CreateUser;
                        _PackagesModel.ModifyUser   = r_Packages.ModifyUser;
                        _PackagesModel.ModifyDate   = r_Packages.ModifyDate;
                        _PackagesModel.SearchJson   = r_Packages.SearchJson;
                        _PackagesModel.PackagesMemo = r_Packages.PackagesMemo;
                        _PackagesModel.ItemAmount   = _JoinItemAmount.ToString() + " (" + _ItemAmount.ToString() + ")";
                        _PackagesModel.Budget       = r_Packages.Budget;
                        _PackagesModel.SumCost      = _SumCost;
                        _PackagesModel.SumPrice     = _Summary;
                        _PackagesModel.PackageItems = ReturnPackageItemList(PackagesNo, true);
                        //PackageItems = c.PackageItems.Select(pi => new PackageItemModel()
                        //{
                        //    WorksNo = pi.WorksNo.ToString(),
                        //    WorksName = pi.Works.WorksName,
                        //    Price = pi.Works.Price,
                        //    AuthorsName = pi.Works.WorksAuthors.FirstOrDefault().Authors.AuthorsCName,
                        //    IsJoin = pi.IsJoin
                        //}
                        //).ToList()
                    }
                }
            }

            return(_PackagesModel);
        }
Example #12
0
        public static string GetFile(int WorksFilesNo)
        {
            string strStream = "";

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.WorksFiles.Count() > 0)
                {
                    strStream = context.WorksFiles.AsQueryable().Where(c => c.WorksFilesNo == WorksFilesNo).Select(c => c.FileBase64Str).FirstOrDefault();
                }
            }
            return(strStream);
        }
Example #13
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);
 }
Example #14
0
        /// <summary>
        /// 以藝術家編號取得藝術家
        /// </summary>
        /// <param name="authorsNo">藝術家編號</param>
        /// <returns></returns>
        public static AuthorsModel GetAuthorDetail(int authorsNo)
        {
            AuthorsModel _AuthorsModel = new AuthorsModel();

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.Authors.Count() > 0)
                {
                    var r_Authors = context?.Authors?.AsQueryable()?.Where(c => c.IsDel != "Y" && c.AuthorsNo == authorsNo).Select(c => c).FirstOrDefault();


                    if (r_Authors != null)
                    {
                        var r_AuthorsPropArea = context?.AuthorsPropArea?.AsQueryable()?.Where(c => c.AuthorsNo == r_Authors.AuthorsNo).ToList();
                        var r_AuthorsPropTag  = context?.AuthorsPropTag?.AsQueryable()?.Where(c => c.AuthorsNo == r_Authors.AuthorsNo).ToList();
                        int _WorksAmount      = (context?.WorksAuthors?.AsQueryable()?.Where(c => c.Author_No == r_Authors.AuthorsNo).Count()).Value;
                        _AuthorsModel.AuthorsNo    = r_Authors.AuthorsNo;
                        _AuthorsModel.AuthorsCName = r_Authors.AuthorsCName;
                        _AuthorsModel.AuthorsEName = r_Authors.AuthorsEName;

                        if (r_AuthorsPropArea != null && r_AuthorsPropArea.Count > 0)
                        {
                            _AuthorsModel.AuthorsAreaNo_InputString = r_AuthorsPropArea.Select(apa => Convert.ToString(apa.AuthorsAreaNo)).ToList();
                            _AuthorsModel.AuthorsPropArea           = r_AuthorsPropArea.Select(apa =>
                                                                                               new MenuViewModel()
                            {
                                MenuID = apa.Menu_AuthorsArea.AuthorsAreaNo, MenuName = apa.Menu_AuthorsArea.AuthorsAreaName
                            }).ToList();
                        }
                        if (r_AuthorsPropTag != null && r_AuthorsPropTag.Count > 0)
                        {
                            _AuthorsModel.AuthorsTagNo_InputString = r_AuthorsPropTag.Select(apt => Convert.ToString(apt.AuthorsTagNo)).ToList();
                            _AuthorsModel.AuthorsPropTag           = r_AuthorsPropTag.Select(apa =>
                                                                                             new MenuViewModel()
                            {
                                MenuID = apa.Menu_AuthorsTag.AuthorsTagNo, MenuName = apa.Menu_AuthorsTag.AuthorsTagName
                            }).ToList();
                        }
                        _AuthorsModel.CreateDate  = r_Authors.CreateDate;
                        _AuthorsModel.MaterialsID = r_Authors.MaterialsID;
                        _AuthorsModel.CreateUser  = r_Authors.CreateUser;
                        _AuthorsModel.ModifyDate  = r_Authors.ModifyDate.Value;
                        _AuthorsModel.ModifyUser  = r_Authors.ModifyUser;
                        _AuthorsModel.WorksAmount = r_Authors.WorksAmount;
                        _AuthorsModel.Rating      = r_Authors.Rating;
                    }
                }
            }

            return(_AuthorsModel);
        }
Example #15
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);
        }
Example #16
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);
        }
Example #17
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);
        }
Example #18
0
        /// <summary>
        /// 取得檔案清單
        /// </summary>
        /// <param name="WorksNo"></param>
        /// <param name="PageIndex">頁碼</param>
        /// <param name="PageSize">每頁筆數</param>
        /// <returns></returns>
        public static List <FileGroup> GetFileList(string WorksNo, int PageIndex = 1, int PageSize = 10)
        {
            Guid Guid_WorksNo = Guid.Parse(WorksNo);

            List <FileGroup> _FileList = new List <FileGroup>();

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.WorksFiles.Count() > 0)
                {
                    _FileList = context.WorksFiles.AsQueryable().Where(c => c.WorksNo == Guid_WorksNo).OrderBy(c => c.Sorting).ThenBy(c => c.WorksFilesNo).Select(c => new FileGroup()
                    {
                        WorksFilesNo = c.WorksFilesNo, FileBase64 = c.FileBase64Str, File_o_Url = c.File_o_Url, File_m_Url = c.File_m_Url, File_s_Url = c.File_s_Url, Sorting = c.Sorting
                    }).ToList();
                }
            }
            return(_FileList);
        }
Example #19
0
        /// <summary>
        /// 計算作品分級
        /// </summary>
        /// <param name="_WorksModel"></param>
        /// <returns></returns>
        public static int CalculateWorksRating(WorksModel _WorksModel)
        {
            double _Rating      = 0;
            int    _WorksAmount = 0;

            using (var context = new EG_MagicCubeEntities())
            {
                foreach (int _AuthorNo in _WorksModel.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).ToArray())
                {
                    _WorksAmount = _WorksAmount + (context?.WorksAuthors?.AsQueryable().Where(c => c.Author_No == _AuthorNo).Count()).Value;
                }
            }
            _WorksAmount = (_WorksAmount + 1) / _WorksModel.AuthorNo_InputString.Select(n => Convert.ToInt32(n)).Count();
            double _AuthorsRating = Convert.ToDouble(AuthorsModel.CalculateAuthorsRating(_WorksAmount));

            _Rating = (_WorksModel.Marketability * 0.3) + (_WorksModel.Packageability * 0.1) + (_WorksModel.Valuability * 0.25) + (_WorksModel.Artisticability * 0.2) + (_AuthorsRating * 0.15);
            return(Convert.ToInt32(_Rating));
        }
Example #20
0
        public static SystemGeneralModel GetConfigure(string strConfigureClass)
        {
            SystemGeneralModel _SystemGeneralModel = new SystemGeneralModel();

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.SystemConfigure.Count() > 0)
                {
                    _SystemGeneralModel = context.SystemConfigure.AsQueryable().Where(c => c.ConfigureName == strConfigureClass).Select(c => new SystemGeneralModel()
                    {
                        ConfigureClass = c.ConfigureName, ConfigureContent = c.ConfigureValue
                    }).FirstOrDefault();
                }
                if (_SystemGeneralModel == null)
                {
                    _SystemGeneralModel = new SystemGeneralModel();
                    _SystemGeneralModel.ConfigureClass = strConfigureClass;
                }
            }
            return(_SystemGeneralModel);
        }
Example #21
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);
        }
Example #22
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);
 }
Example #23
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);
 }
Example #24
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);
        }
Example #25
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);
            }
Example #26
0
        /// <summary>
        /// 搜尋
        /// </summary>
        /// <param name="PageIndex">頁碼,從1開始0為不分頁</param>
        /// <param name="PageSize">每頁筆數,0為不分頁</param>
        /// <returns></returns>
        public List <WorksModel> Search(int PageIndex = 0, int PageSize = 0)
        {
            //if (PageIndex == 0) PageIndex = 0;
            List <WorksModel> _WorksModel = new List <WorksModel>();

            using (var context = new EG_MagicCubeEntities())
            {
                if (context.Works.Count() > 0)
                {
                    var r = context.Works?.AsQueryable().Where(f => f.IsDel != "Y");

                    if (!string.IsNullOrEmpty(this.WorksNo))
                    {
                        r = r.Where(f => f.WorksNo == Guid.Parse(WorksNo.ToUpper()));
                    }
                    if (!string.IsNullOrEmpty(this.WorksName))
                    {
                        r = r.Where(f => f.WorksName.Contains(this.WorksName));
                    }
                    //價格
                    if (this.MinePrice > 0)
                    {
                        r = r.Where(f => f.Price >= this.MinePrice);
                    }
                    if (this.MaxPrice > 0)
                    {
                        r = r.Where(f => f.Price <= this.MaxPrice);
                    }

                    List <Guid> _WorksNoList = new List <Guid>();

                    #region 組件查詢
                    var rwm = context.WorksModules?.AsQueryable();
                    //長度
                    if (this.MineLength > 0)
                    {
                        rwm = rwm.Where(f => f.Length >= this.MineLength);
                    }
                    if (this.MaxLength > 0)
                    {
                        rwm = rwm.Where(f => f.Length <= this.MaxLength);
                    }
                    //寬度
                    if (this.MineWidth > 0)
                    {
                        rwm = rwm.Where(f => f.Width >= this.MineWidth);
                    }
                    if (this.MaxLength > 0)
                    {
                        rwm = rwm.Where(f => f.Width <= this.MaxWidth);
                    }
                    //高度
                    if (this.MineHeight > 0)
                    {
                        rwm = rwm.Where(f => f.Height >= this.MineHeight);
                    }
                    if (this.MaxHeight > 0)
                    {
                        rwm = rwm.Where(f => f.Height <= this.MaxHeight);
                    }
                    //深度
                    if (this.MineDeep > 0)
                    {
                        rwm = rwm.Where(f => f.Deep >= this.MineDeep);
                    }
                    if (this.MaxDeep > 0)
                    {
                        rwm = rwm.Where(f => f.Deep <= this.MaxDeep);
                    }
                    //時間長度
                    if (this.MineTimeLength > 0)
                    {
                        rwm = rwm.Where(f => Convert.ToInt16(f.TimeLength) >= this.MineTimeLength);
                    }
                    if (this.MaxTimeLength > 0)
                    {
                        rwm = rwm.Where(f => Convert.ToInt16(f.TimeLength) <= this.MaxTimeLength);
                    }

                    var _wkno = rwm.Select(c => c.WorksNo).ToList();
                    if (_wkno != null && _wkno.Count > 0)
                    {
                        _WorksNoList.AddRange(_wkno);
                    }

                    if (_WorksNoList != null && _WorksNoList.Count > 0)
                    {
                        _WorksNoList = _WorksNoList.Distinct().ToList();
                    }
                    //取得組件符合搜尋條件的作品列表
                    #endregion
                    int FilterCount = 1;

                    //藝術家
                    if (this.AuthorNoList != null && this.AuthorNoList.Count > 0)
                    {
                        FilterCount++;
                        int[] _AuthorNoArray = this.AuthorNoList.ConvertAll(s => int.Parse(s)).ToArray();
                        var   _wawkno        = context.WorksAuthors?.AsQueryable()?.Where(wa => _AuthorNoArray.Contains(wa.Author_No)).Select(c => c.Works_No).ToList();
                        if (_wawkno != null && _wawkno.Count > 0)
                        {
                            _WorksNoList.AddRange(_wawkno);
                        }
                        //r = r.Where(f => f.WorksAuthors.Any(wa => this.AuthorNoList.Contains(wa.Author_No.ToString())));
                    }

                    //類型
                    if (this.GenreNoList != null && this.GenreNoList.Count > 0)
                    {
                        FilterCount++;
                        int[] _GenreNoArray = this.GenreNoList.ConvertAll(s => int.Parse(s)).ToArray();
                        var   wpgwkno       = context.WorksPropGenre?.AsQueryable()?.Where(c => _GenreNoArray.Contains(c.GenreNo)).Select(c => c.WorksNo).ToList();
                        if (wpgwkno != null && wpgwkno.Count > 0)
                        {
                            _WorksNoList.AddRange(wpgwkno);
                        }
                        //r = r.Where(f => f.WorksPropGenre.Any(wpg => _GenreNoArray.Contains(wpg.GenreNo)));
                    }

                    //風格
                    if (this.StyleNoList != null && this.StyleNoList.Count > 0)
                    {
                        FilterCount++;
                        int[] _StyleNoList = this.StyleNoList.ConvertAll(s => int.Parse(s)).ToArray();
                        var   wpswkno      = context.WorksPropStyle?.AsQueryable()?.Where(c => _StyleNoList.Contains(c.StyleNo)).Select(c => c.WorksNo).ToList();
                        if (wpswkno != null && wpswkno.Count > 0)
                        {
                            _WorksNoList.AddRange(wpswkno);
                        }
                        //r = r.Where(f => f.WorksPropStyle.Any(wps => _StyleNoList.Contains(wps.StyleNo)));
                    }

                    //以包裝序號查詢
                    if (!string.IsNullOrEmpty(this.PackagesNo))
                    {
                        FilterCount++;
                        var pkgitmwkno = context.PackageItems?.AsQueryable()?.Where(c => c.PackagesNo == Guid.Parse(this.PackagesNo.ToUpper())).Select(c => c.WorksNo).ToList();

                        if (pkgitmwkno != null && pkgitmwkno.Count > 0)
                        {
                            _WorksNoList.AddRange(pkgitmwkno);
                        }
                        //r = r.Where(f => f.PackageItems.Any(pkg => pkg.PackagesNo == Guid.Parse(this.PackagesNo)));
                    }
                    if (_WorksNoList != null && _WorksNoList.Count > 0)
                    {
                        var _WorksNoArray = _WorksNoList.GroupBy(i => i)
                                            .Where(g => g.Count() == FilterCount)
                                            .Select(g => g.ElementAt(0)).ToArray();
                        if (_WorksNoArray != null && _WorksNoArray.Length > 0)
                        {
                            r = r.Where(f => _WorksNoArray.Contains(f.WorksNo));
                        }
                    }
                    if (MenuModel.WorkOrderbyTypeEnum.預設排序 == this.OrderbyType)
                    {
                        //r = r.OrderByDescending(c => c.YearStart).ThenByDescending(c => c.CreateDate);
                        r = r.OrderBy(c => c.MaterialsID).ThenByDescending(c => c.YearStart).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    if (MenuModel.WorkOrderbyTypeEnum.作品起始年代小至大 == this.OrderbyType)
                    {
                        r = r.OrderBy(c => c.YearStart).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    if (MenuModel.WorkOrderbyTypeEnum.作品起始年代大至小 == this.OrderbyType)
                    {
                        r = r.OrderByDescending(c => c.YearStart).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    if (MenuModel.WorkOrderbyTypeEnum.定價小至大 == this.OrderbyType)
                    {
                        r = r.OrderBy(c => c.Price).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    if (MenuModel.WorkOrderbyTypeEnum.定價大至小 == this.OrderbyType)
                    {
                        r = r.OrderByDescending(c => c.Price).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    if (MenuModel.WorkOrderbyTypeEnum.稱姓名小至大 == this.OrderbyType)
                    {
                        r = r.OrderBy(c => c.WorksName).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    if (MenuModel.WorkOrderbyTypeEnum.稱姓名大至小 == this.OrderbyType)
                    {
                        r = r.OrderByDescending(c => c.WorksName).ThenByDescending(c => c.CreateDate);
                    }
                    else
                    {
                        r = r.OrderByDescending(c => c.CreateDate);
                    }
                    if (PageIndex > 0 && PageIndex > 0)
                    {
                        r = r.Select(c => c).Skip((PageIndex * PageSize - PageSize)).Take(PageSize + 1);
                    }

                    var _rw = r.ToList();
                    _WorksModel = WorksListToWorksModelList(_rw);
                }
                return(_WorksModel);
            }
        }
Example #27
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);
        }
Example #28
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);
        }
Example #29
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);
        }
Example #30
0
        public List <WorksModel> WorksListToWorksModelList(List <Works> _WorksList)
        {
            List <WorksModel> _WorksModelList = new List <WorksModel>();

            _WorksModelList = _WorksList.Select(c =>
                                                new WorksModel()
            {
                WorksNo         = c.WorksNo.ToString(),
                MaterialsID     = c.MaterialsID,
                AuthorsNo       = c.AuthorsNo,
                AuthorsName     = "",
                WorksName       = c.WorksName,
                YearStart       = c.YearStart,
                YearEnd         = c.YearEnd,
                Remarks         = c.Remarks,
                Cost            = c.Cost,
                Price           = c.Price,
                PricingDate     = c.PricingDate,
                GrossMargin     = c.GrossMargin,
                Marketability   = c.Marketability,
                Packageability  = c.Packageability,
                Valuability     = c.Valuability,
                Artisticability = c.Artisticability,
                CreateUser      = c.CreateUser,
                CreateDate      = c.CreateDate,
                ModifyUser      = c.ModifyUser,
                ModifyDate      = (DateTime)c.ModifyDate,
                WorksModuleList = new List <WorksModel.WorksModuleModel>()
                {
                }
            }
                                                ).ToList();

            Guid[] _WorksNoArray = _WorksModelList.Select(c => Guid.Parse(c.WorksNo.ToUpper())).ToArray();

            using (var context = new EG_MagicCubeEntities())
            {
                List <WorksAuthors> _WorksAuthors = new List <WorksAuthors>();
                if (context.WorksAuthors.Count() > 0)
                {
                    _WorksAuthors = context?.WorksAuthors?.Where(c => _WorksNoArray.Contains(c.Works_No)).ToList();
                }
                List <WorksModules> _WorksModules = new List <WorksModules>();
                if (context.WorksModules.Count() > 0)
                {
                    _WorksModules = context?.WorksModules?.Where(c => _WorksNoArray.Contains(c.WorksNo)).ToList();
                }

                foreach (WorksModel _WorksModel in _WorksModelList)
                {
                    _WorksModel.AuthorsName   = string.Join(",", _WorksAuthors.Where(c => c.Works_No == Guid.Parse(_WorksModel.WorksNo.ToUpper())).Select(c => c.Authors.AuthorsCName).ToArray());
                    _WorksModel.MaterialsName = string.Join(",", _WorksModules.Where(c => c.WorksNo == Guid.Parse(_WorksModel.WorksNo.ToUpper())).Select(c => c.Menu_Material.MaterialName).Distinct().ToArray());

                    foreach (WorksModel.WorksModuleModel _WorksModule in _WorksModel.WorksModuleList)
                    {
                        var wm = _WorksModules.Where(c => c.WorksNo == Guid.Parse(_WorksModel.WorksNo.ToUpper())).FirstOrDefault();
                        if (wm != null)
                        {
                            _WorksModule.WorksModulesNo = wm.WorksModulesNo;
                            _WorksModule.WorksNo        = wm.WorksNo.ToString();
                            _WorksModule.Material       = new MenuViewModel {
                                MenuID = wm.Menu_Material.MaterialNo, MenuName = wm.Menu_Material.MaterialName
                            };
                            _WorksModule.Measure    = wm.Measure;
                            _WorksModule.Length     = wm.Length;
                            _WorksModule.Width      = wm.Width;
                            _WorksModule.Height     = wm.Height;
                            _WorksModule.Deep       = wm.Deep;
                            _WorksModule.TimeLength = wm.TimeLength;
                            _WorksModule.Amount     = wm.Amount;
                            _WorksModule.CountNoun  = new MenuViewModel {
                                MenuID = wm.Menu_CountNoun.CountNounNo, MenuName = wm.Menu_CountNoun.CountNounName
                            };
                        }
                    }
                }
            }
            return(_WorksModelList);
        }