private void MakeTrading(string LoginId)
        {
            Trading trading = new Trading()
            {
            };
            var user = UserMan.GetByParameter(new User_Filter()
            {
                LoginId = LoginId
            }).FirstOrDefault();

            trading.LoginId    = LoginId;
            trading.UserName   = user.UserName;
            trading.UserID     = user.UserID;
            trading.IsVerifier = (user.IsVerifier == 1);
            trading.CostName   = user.CostName.Trim();
            if (user.PermissionType == 0)
            {
                trading.IsDeptOnly = true;
                if (!string.IsNullOrEmpty(user.DeptName))
                {
                    trading.Dept = EnumHelper.GetEnumByName <WS_Dept_type>(user.DeptName);
                    if (!string.IsNullOrEmpty(user.CostName))
                    {
                        var cost = new WebService_Manage().GetAllDetailCostcerter(trading.Dept.Value);
                        trading.CostId = cost.Where(x => x.CostName.Trim() == user.CostName.Trim()).FirstOrDefault().CostCode;
                    }
                }
                else
                {
                    throw new Exception("私領域權限未設定");
                }

                if (user.IsVerifier == 1)//具有審核權,也可以具有公領域權限
                {
                    if (user.Permission != null)
                    {
                        trading.Permissions = user.Permission.Split(",".ToArray()).ToList();
                    }
                }
            }
            else
            {
                trading.IsDeptOnly = false;
                if (user.Permission != null)
                {
                    trading.Permissions = user.Permission.Split(",".ToArray()).ToList();
                }
                else
                {
                    throw new Exception("公領域權限未設定");
                }
            }
            trading.UploadFiles = new System.Collections.Generic.Dictionary <string, string>()
            {
            };
            sessionData.trading = trading;
        }
Esempio n. 2
0
        public JsonResult SaveNewsData(NewsData_Info data)
        {
            //data.DeptName = getDeptName(sessionData.trading.Dept.Value);
            ResultBase result = new ResultBase();

            result.setMessage("Done");
            if (string.IsNullOrEmpty(data.Title))
            {
                result.setErrorMessage("標題不得為空白");
            }
            if (string.IsNullOrEmpty(data.Author))
            {
                result.setErrorMessage("發表者不得為空白");
            }
            if (string.IsNullOrEmpty(data.Keyword))
            {
                result.setErrorMessage("後台關鍵字不得為空白");
            }
            if (string.IsNullOrEmpty(data.ContentBody))
            {
                result.setErrorMessage("內容不得為空白");
            }
            if (result.JsonReturnCode > -1)
            {
                if (data.IsActive == 1)
                {
                    //審核專用
                    var verdata = NewsDataMan.GetBySN(data.NewsId);
                    verdata.IsActive     = 1;
                    verdata.VerifiedDate = DateTime.Now;
                    NewsDataMan.Update(verdata);
                    return(Json(result, JsonRequestBehavior.DenyGet));
                }
                else
                {
                    //一但有任何異動,自動下架
                    data.IsActive = 0;
                }
                data.LastUpdate  = DateTime.Now;
                data.LastUpadtor = sessionData.trading.LoginId;
                var olddata = NewsDataMan.GetBySN(data.NewsId);
                checkUploadfiles(data, olddata);
                if (data.DeptName.Length == 1)
                {
                    //DeptName is real DeptCode
                    data.DeptCode = data.DeptName;
                    //Get DeptName from DeptCode
                    data.DeptName = EnumHelper.GetEnumDescription <WS_Dept_type>(EnumHelper.GetEnumByName <WS_Dept_type>(data.DeptCode));
                }
                else
                {
                    //Get DeptCode from DeptName
                    var allenum = Enum.GetValues(typeof(WS_Dept_type)).Cast <WS_Dept_type>();
                    var deptobj = allenum.Where(x => EnumHelper.GetEnumDescription <WS_Dept_type>(x) == data.DeptName).FirstOrDefault();
                    if (deptobj != null)
                    {
                        data.DeptCode = deptobj.ToString();
                    }
                }
                //get costid from costname
                WS_Dept_type depttype   = EnumHelper.GetEnumByName <WS_Dept_type>(data.DeptCode);
                var          CostObject = new WebService_Manage().GetAllDetailCostcerter(depttype).Where(x => data.Cost.Trim() == x.CostName.Trim()).FirstOrDefault();
                if (CostObject != null)
                {
                    data.CostId = CostObject.CostCode;
                    if (data.NewsId > 0)
                    {
                        NewsDataMan.Update(data);
                        result.setMessage(data.NewsId.ToString());
                    }
                    else
                    {
                        var newId = NewsDataMan.Insert(data);
                        result.setMessage(newId.ToString());
                    }
                }
                else
                {
                    result.setException(new Exception(string.Format("查無科別代碼({0})", data.Cost)), "SaveNewsData");
                }
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }