/// <summary> /// 修改密碼 /// </summary> /// <param name="id">The identifier.</param> /// <param name="password">The password.</param> /// <returns>是否執行成功</returns> public CiResult DbUpdatePassword(Guid id, string password) { CiResult ciResult = new CiResult(); var passHash = Crypto.SHA256(password + Salt); Admin data = Db.Admins.Find(id); if (data != null) { try { data.Password = passHash; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]密碼修改成功。", data.Account); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = "密碼修改失敗。"; } } else { ciResult.Message = "帳號不存在,無法修改。"; } return(ciResult); }
public ActionResult SiteInfo(SiteInfoViewModel model, List <UploadViewModel> ImageModel) { var result = new CiResult(); var uploadResult = FileUpload(ImageModel); if (!uploadResult.IsSuccess) { result.Message = uploadResult.Message; } else { model.MetaTagOgImage = uploadResult.Data; } //save if (string.IsNullOrEmpty(result.Message)) { result = service.Save(SystemSettingType.SiteInfo, model); } //web reset if (result.IsSuccess) { var applicationHelper = new ApplicationHelper(); applicationHelper.RemoveAll(); applicationHelper.Init(); } return(Json(result)); }
/// <summary> /// 取得選單 /// </summary> /// <param name="position">The position.</param> /// <returns></returns> private CiResult <List <TreeWebViewModel> > GetMenu(MenuPosition position) { var result = new CiResult <List <TreeWebViewModel> >(); try { var data = service.GetTrees(null, new ItemTreeFilter { MenuPosition = position, ItemType = ItemType.Category, LangType = ApplicationHelper.DefaultLanguage, SelectEnabled = true, EmptyContinue = (position == MenuPosition.Bottom) }); result.Data = TransModel(data); result.IsSuccess = true; } catch (Exception e) { result.Message = e.Message; } return(result); }
/// <summary> /// 新增資料 /// </summary> /// <param name="model">The model.</param> /// <returns>RoleId</returns> public CiResult <Guid> DbCreate(Role model) { CiResult <Guid> ciResult = new CiResult <Guid>(); try { var data = new Role { Id = Guid.NewGuid(), Name = model.Name, Sort = model.Sort, IsDelete = false }; Db.Roles.Add(data); Db.SaveChanges(); ciResult.Data = data.Id; ciResult.Message = string.Format("[{0}]新增成功。", data.Name); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = "新增失敗。"; } return(ciResult); }
/// <summary> /// 刪除 /// </summary> /// <returns></returns> public ActionResult DeleteMyChild(Guid childID, string captcha) { var result = new CiResult(); //驗證碼 if (string.IsNullOrWhiteSpace(captcha) || SessionManager.Captcha != captcha) { result.Message = SystemMessage.CaptchaError; } //save if (string.IsNullOrEmpty(result.Message)) { result = service.DeleteMyChild(SessionManager.UserID, childID); } //show message if (!result.IsSuccess) { SetAlertMessage(result.Message, AlertType.error); } else { SetAlertMessage(result.Message, AlertType.success); } return(RedirectToAction("MyChildren")); }
public ActionResult Edit(RoleViewModel model) { var data = roleService.GetById(model.Role.Id); if (data == null) { return(HttpNotFound()); } // 修改角色 CiResult result = roleService.DbUpdate(model.Role); TempData["alert"] = result.Message; if (result.ReturnResult == ReturnResult.Success) { // 修改選單list CiResult resultMenu = roleService.DbUpdateRoleMenus(model.Role.Id, model.MenuCheckList); TempData["alert"] += resultMenu.Message; if (resultMenu.ReturnResult == ReturnResult.Success) { return(RedirectToAction("Index", new { })); } } return(View(model)); }
/// <summary> /// 新增資料 /// </summary> /// <param name="model">The model.</param> /// <returns>RoleId</returns> public CiResult<Guid> DbCreate(Role model) { CiResult<Guid> ciResult = new CiResult<Guid>(); try { var data = new Role { Id = Guid.NewGuid(), Name = model.Name, Sort = model.Sort, IsDelete = false }; Db.Roles.Add(data); Db.SaveChanges(); ciResult.Data = data.Id; ciResult.Message = string.Format("[{0}]新增成功。", data.Name); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = "新增失敗。"; } return ciResult; }
public async Task <ActionResult> ChangeDetailStatus(Guid detailid, OrderStatus status) { var result = new CiResult(); //訂單 var orderDetail = service.GetDetail(detailid); // 訂購商品前檢查 var preCheck = service.ItemPreCheckWithID(SessionManager.UserID, orderDetail.ItemID, checkStock: false, checkUser: false); if (!preCheck.IsSuccess) { result.Message = preCheck.Message; } //save if (string.IsNullOrEmpty(result.Message)) { result = service.ChangeDetailStatus(detailid, status, AccountType.Member); } //show message if (!result.IsSuccess) { SetAlertMessage(result.Message, AlertType.error); } else { SetAlertMessage(result.Message, AlertType.success); } //通知信 if (result.IsSuccess && status != OrderStatus.Delete) { if (result.IsSuccess) { //通知選手參賽 var mailType = status == OrderStatus.TeamEditDone ? SystemMailType.MemberEnter : (SystemMailType)status; await SendOrderDetailMail(detailid, orderDetail.erp_Order.StructureID, mailType); } } //return //if (result.IsSuccess && status == OrderStatus.Delete) //{ // //列表頁 // return RedirectToAction("Order", "Member", new { type = order.StructureID }); //} //else if (result.IsSuccess && toSuccessView) //{ // //成功頁 // ClearSlertMessage(); // return Success(id); //} //else //{ //編輯/瀏覽頁 return(RedirectToAction("Competition", new { id = orderDetail.OrderID })); // } }
/// <summary> /// 上傳圖片共用 /// </summary> /// <param name="ImageModel">The image model.</param> /// <returns>fileUploadPath</returns> private CiResult <string> FileUpload(List <UploadViewModel> ImageModel) { var result = new CiResult <string> { IsSuccess = true }; if (ImageModel != null) { //old if (ImageModel[0].FileStatus != FileStatus.Delete) { result.Data = ImageModel[0].FilePath; } //fileUpload if (ImageModel[0].FileUpload != null) { var fileFolder = UploadTool.GetFileFolder(SessionManager.Client.SystemName, SourceType.System); var uploadResult = UploadTool.FileUpload(ImageModel[0].FileUpload, ImageModel[0].FileType, fileFolder); if (!uploadResult.IsSuccess) { result.Message = uploadResult.Message; result.IsSuccess = false; } else { result.Data = uploadResult.Data.FilePath; } } } return(result); }
/// <summary> /// 重寄驗證信 /// </summary> /// <param name="id">The identifier.</param> /// <returns></returns> public async Task <ActionResult> SendConfirmMail(Guid id) { var result = new CiResult <mgt_User>(); var user = service.Get(id); //check mail var model = new SendEmailViewModel { Email = user.Email, SystemMailType = SystemMailType.ConfirmEmail }; result = service.SendValidCodeCheck(model); //send if (result.IsSuccess) { var mailService = new MailService(SessionManager.Client.ID); var mailContent = new ReplaceMailContent { UserName = result.Data.Name, UserEmail = model.Email }; var mailResult = await mailService.SendEmail(result.Data.ID, mailContent, model.SystemMailType, model.ValidType, fromFn : "Admin_SendConfirmMail"); return(Json(mailResult, JsonRequestBehavior.AllowGet)); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(Menu model) { if (ModelState.IsValid) { CiResult <Guid> result = menuService.Create(model); TempData["alert"] = result.Message; if (result.ReturnResult == ReturnResult.Success) { return(RedirectToAction("Index", new { typeOpt = model.Type, currentId = result.Data })); } } // 驗證失敗錯誤訊息 var errors = ModelState.Keys.SelectMany(key => ModelState[key].Errors); foreach (var err in errors) { TempData["alert"] += err.ErrorMessage; } ViewBag.infoList = GetSelect(null, model.ParentId, (MenuType)model.Type); ViewBag.TypeOpt = model.Type; return(View(model)); }
public async Task <ActionResult> SendValidCode(SendEmailViewModel model) { var result = new CiResult <mgt_User>(); //驗證碼 if (string.IsNullOrWhiteSpace(model.Captcha) || SessionManager.Captcha != model.Captcha) { result.Message = SystemMessage.CaptchaError; } if (string.IsNullOrEmpty(result.Message)) { result = service.SendValidCodeCheck(model); if (result.IsSuccess) { var mailService = new MailService(ApplicationHelper.ClientID); var mailContent = new ReplaceMailContent { UserName = result.Data.Name, UserEmail = model.Email }; var mailResult = await mailService.SendEmail(result.Data.ID, mailContent, model.SystemMailType, model.ValidType, fromFn : "SendValidCode"); return(Json(mailResult)); } } return(Json(result)); }
/// <summary> /// 刪除選單 /// </summary> /// <param name="id">The identifier.</param> /// <param name="typeOpt">The type opt.</param> /// <returns></returns> public ActionResult Delete(Guid id, MenuType typeOpt = MenuService.DefaultType) { CiResult result = menuService.Delete(id); TempData["alert"] = result.Message; return(RedirectToAction("Index", new { typeOpt })); }
/// <summary> /// 刪除資料 /// </summary> /// <param name="id">id</param> /// <returns>是否執行成功</returns> public ActionResult Delete(Guid id) { CiResult result = roleService.DbDelete(id); TempData["alert"] = result.Message; return(RedirectToAction("Index", new { })); }
public async Task <ActionResult> CreateAssign(Guid childID, string AssignPhoneNumber) { var result = new CiResult(); var toUser = service.GetbyPhone(AssignPhoneNumber.ToTrim()); if (toUser == null) { result.Message = "查無電話號碼"; } if (string.IsNullOrEmpty(result.Message)) { var model = new mgt_UserAssign { UserProfileID = childID, FromUser = SessionManager.UserID, ToUser = toUser.ID }; result = service.CreateAssign(model); } //通知:選手指派新增 (失敗不提醒) if (result.IsSuccess) { try { var data = service.GetUserAssign(result.ID); if (data.ToUser.ID == data.FromUser.ID) { //_Log.CreateText($"[Email no send]指派給自己: User={data.ToUser.ID}, Member={data.Member.NickName}"); } else { var mailService = new MailService(ApplicationHelper.ClientID); var mailContent = new ReplaceMailContent { UserName = data.ToUser.Name, UserEmail = data.ToUser.Email, MemberName = data.Member.NickName }; var mailResult = await mailService.SendEmail(data.ToUser.ID, mailContent, SystemMailType.AssignCreate, fromFn : "CreateAssign"); if (mailResult.IsSuccess) { result.Message += ", " + mailResult.Message; } } } catch (Exception e) { var json = _Json.ModelToJson(e); _Log.CreateText(json); } } return(Json(result)); }
/// <summary> /// 新增資料 /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public CiResult <Guid> Create(Menu model) { CiResult <Guid> ciResult = new CiResult <Guid>(); //var maxSort = Db.Menus.Where(x => x.ParentId == model.ParentId).OrderByDescending(x => x.Sort).FirstOrDefault(); //int sort = 0; //if (maxSort != null) //{ // sort = maxSort.Sort + 3; //} try { var data = new Menu { Id = Guid.NewGuid(), NativeName = model.NativeName.ToTrim(), Controller = model.Controller.ToTrim(), // RoleName=Controler+Action Action = model.Action.ToTrim(), Description = model.Description, Url = model.Url.ToTrim(), Type = model.Type, IsMenu = model.IsMenu, Sort = model.Sort, // sort, IsDelete = false }; // 第二層 if (model.ParentId != null) { var parent = Db.Menus.Find(model.ParentId); if (parent != null) { data.ParentId = model.ParentId; } else { ciResult.Message = string.Format("父層[{0}]不存在", model.ParentId); } } Db.Menus.Add(data); Db.SaveChanges(); ciResult.Data = data.Id; ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = string.Format("[{0}]建立失敗。", model.NativeName); } return(ciResult); }
public ActionResult RoleEdit(mgt_UserRoleRelation model, bool isCreate) { var result = isCreate ? service.CreateUserMemberRoles(model, SessionManager.UserID) : service.UpdateUserMemberRoles(model, SessionManager.UserID); var dataResult = new CiResult <string>(); dataResult.IsSuccess = result.IsSuccess; dataResult.Message = result.Message; dataResult.Data = $"?id={model.ID}"; return(Json(dataResult)); }
/// <summary> /// 單筆簡訊發送 /// </summary> /// <param name="mobileNumber">手機號碼</param> /// <param name="allowLogNessage">允許長訊息</param> /// <returns></returns> public async Task <CiResult <SMSViewModel> > Send(Guid userID, string phoneNumber, bool allowLogNessage = false) { //判斷字元數,如果超過70個字則使用長簡訊發送 //簡訊發送 http://smexpress.mitake.com.tw:9600/SmSendGet.asp //單筆長簡訊 http://smexpress.mitake.com.tw:7002/SpLmGet.asp var result = new CiResult <SMSViewModel>(); if (!_Check.IsPhone(phoneNumber) || !setting.IsEnabled) { return(result); } if (!allowLogNessage && message.Length >= 70) { _Log.CreateText("SendSms 訊息過長: " + message); return(result); } var bData = Encoding.GetEncoding("big5"); string messageEn = HttpUtility.UrlEncode(message, bData); string url = message.Length >= 70 ? "http://smexpress.mitake.com.tw:7002/SpLmGet" : "http://smexpress.mitake.com.tw:9600/SmSendGet.asp" + $"?username={setting.Username}&password={setting.Password}" + $"&DestName={userID}&dstaddr={phoneNumber}&smbody={messageEn}"; //+"&response=http://192.168.1.200/smreply.asp" //狀態通知網址 try { var isTest = false; var urlResult = isTest ? "[1]\r\nmsgid=1472692279\r\nstatuscode=1\r\nAccountPoint=1415\r\n" : _Web.RequestUrlGet(url); var data = ConverResult(urlResult); result.Data = data.FirstOrDefault(); result.IsSuccess = true; } catch (Exception e) { _Log.CreateText($"SendSms : " + _Json.ModelToJson(e)); } return(result); }
public ActionResult UpdateMyChild(mgt_UserProfile model, bool IsCreate) { var result = new CiResult(); model.CreateUser = SessionManager.UserID; if (IsCreate) { result = service.CreateMyChild(model); } else { result = service.UpdateMyChild(model); } return(Json(result)); }
public async Task <ActionResult> CathayPay() { var result = new CiResult <List <erp_Order> >(); try { foreach (string key in Request.Form.Keys) { //key= <?xml version //Request.Form[key]= "1.0" encoding="big5"?><MYB2B><HEADER><TXNO> var message = key + "=" + Request.Form[key]; _Log.CreateText("CathayPay: " + message); //save message result = service.CathyPayMessage(message); //通知信 var mailService = new MailService(ApplicationHelper.ClientID); if (result.IsSuccess) { foreach (var order in result.Data) { await SendOrderMail(order.ID, order.StructureID, (SystemMailType)order.OrderStatus, order.CreateUser, fromFn : $"CathayPay"); } } if (result.IsSuccess) { break; } } } catch (Exception ex) { _Log.CreateText("CathayPay error" + _Json.ModelToJson(ex)); } if (result.IsSuccess) { return(Content("0000")); } else { return(Content("")); } }
/// <summary> /// 修改資料 /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public CiResult Update(Menu model) { CiResult ciResult = new CiResult(); try { var data = Db.Menus.Find(model.Id); data.NativeName = model.NativeName.ToTrim(); data.Controller = model.Controller.ToTrim(); data.Action = model.Action.ToTrim(); data.Description = model.Description; data.Url = model.Url.ToTrim(); data.IsMenu = model.IsMenu; data.Sort = model.Sort; // 第二層 if (model.ParentId != null) { var parent = Db.Menus.Find(model.ParentId); if (parent != null) { data.ParentId = model.ParentId; } else { ciResult.Message = string.Format("父層[{0}]不存在", model.ParentId); } } else { data.ParentId = null; } Db.SaveChanges(); ciResult.Message = string.Format("[{0}]修改成功。", model.NativeName); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = string.Format("[{0}]修改失敗。", model.NativeName); } return(ciResult); }
/// <summary> /// 取得內頁 /// </summary> /// <param name="routeName">Name of the route.</param> /// <returns></returns> public CiResult <ItemWebViewModel> GetDetail(string routeName) { string viewName = ""; var data = Get(routeName, ref viewName, ItemType.Article); var result = new CiResult <ItemWebViewModel> { IsSuccess = data.IsSuccess, Message = data.Message }; if (data != null) { result.Data = (ItemWebViewModel)data.Data; } return(result); }
/// <summary> /// 取得列表頁 /// </summary> /// <param name="routeName">Name of the route.</param> /// <returns></returns> public CiResult <ItemListModel> GetList(string routeName) { string viewName = ""; var data = Get(routeName, ref viewName);// ItemType.Category var result = new CiResult <ItemListModel> { IsSuccess = data.IsSuccess, Message = data.Message }; if (data != null) { result.Data = (ItemListModel)data.Data; } return(result); }
/// <summary> /// Item圖片上傳 /// </summary> /// <param name="upload">The upload.</param> /// <param name="filetype">The filetype.</param> /// <param name="sourceType">Type of the source.</param> /// <param name="sort">The sort.</param> /// <returns></returns> private CiResult <cms_ItemFile> ItemFileUpload(HttpPostedFileBase upload, FileType filetype, SourceType sourceType, int imageWidth = 0, int imageHeight = 0, int sort = 0, string subject = "") { var result = new CiResult <cms_ItemFile>(); var fileFolder = UploadTool.GetFileFolder(SessionManager.Client.SystemName, sourceType); var uploadResult = UploadTool.FileUpload(upload, filetype, fileFolder, true, imageWidth, imageHeight); if (!uploadResult.IsSuccess) { result.Message = uploadResult.Message; } else { uploadResult.Data.Subject = subject; result.Data = ToIitemFile(uploadResult.Data, sourceType, sort); result.IsSuccess = true; } return(result); }
public ActionResult Create(AccountViewModel model) { // 新增帳號 CiResult <Guid> result = accountService.DbCreate(model.AccountView.Account, model.AccountView.Password); TempData["alert"] = result.Message; if (result.ReturnResult == ReturnResult.Success) { Guid adminId = result.Data; // 新增角色list CiResult resultRole = accountService.DbUpdateAdminRoles(adminId, model.RoleCheckList); TempData["alert"] += resultRole.Message; if (resultRole.ReturnResult == ReturnResult.Success) { return(RedirectToAction("Index", "Account")); } } return(View(model)); }
/// <summary> /// 刪除資料 /// </summary> /// <param name="id">id</param> /// <returns>是否執行成功</returns> public CiResult Delete(Guid id) { CiResult ciResult = new CiResult(); Menu data = Db.Menus.Find(id); if (data != null) { data.IsDelete = true; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]刪除成功。", data.NativeName); ciResult.ReturnResult = ReturnResult.Success; } else { ciResult.Message = "資料不存在,無法刪除。"; } return(ciResult); }
public ActionResult OptionEdit(EditItemViewModel model, bool isCreate) { var proResult = Process(model); if (!proResult.IsSuccess) { return(Json(proResult)); } var result = isCreate ? service.Create(proResult.Data) : service.Update(proResult.Data); var dataResult = new CiResult <string>(); dataResult.IsSuccess = result.IsSuccess; dataResult.Message = result.Message; dataResult.Data = $"?itemID={model.Item.ID}&langType={model.ItemLanguage.LanguageType}"; dataResult.ID = model.Item.ID; return(Json(dataResult)); }
public ActionResult Create(RoleViewModel model) { // 新增角色 CiResult <Guid> result = roleService.DbCreate(model.Role); TempData["alert"] = result.Message; if (result.ReturnResult == ReturnResult.Success) { Guid roleId = result.Data; // 新增選單list CiResult resultMenu = roleService.DbUpdateRoleMenus(roleId, model.MenuCheckList); TempData["alert"] += resultMenu.Message; if (resultMenu.ReturnResult == ReturnResult.Success) { return(RedirectToAction("Index", "Role")); } } return(View(model)); }
/// <summary> /// 取得選單 by cache /// </summary> /// <param name="position">The position.</param> /// <returns></returns> public CiResult <List <TreeWebViewModel> > GetMenuByCache(MenuPosition position) { var result = new CiResult <List <TreeWebViewModel> >(); var cacheHelper = new CacheHelper(); var chacheName = $"{ApplicationHelper.ClientID}_menu_{position.ToString()}"; //get cache result.Data = cacheHelper.Get <List <TreeWebViewModel> >(chacheName); //set cache if (result.Data == null) { result = GetMenu(position); if (result.IsSuccess && !string.IsNullOrEmpty(chacheName)) { cacheHelper.Set(chacheName, result.Data, 72); } } return(result); }
public ActionResult Edit(AccountViewModel model) { var data = accountService.GetById(model.AccountView.Id); if (data == null) { return(HttpNotFound()); } // 更改帳號 CiResult resultAcount = accountService.DbUpdateAccount(model.AccountView.Id, model.AccountView.Account); TempData["alert"] = resultAcount.Message; if (resultAcount.ReturnResult != ReturnResult.Success) { return(View(model)); } // 更改密碼 if (!string.IsNullOrEmpty(model.AccountView.Password)) { CiResult resultPassword = accountService.DbUpdatePassword(model.AccountView.Id, model.AccountView.Password); TempData["alert"] += resultPassword.Message; if (resultPassword.ReturnResult != ReturnResult.Success) { return(View(model)); } } // 更改角色list CiResult resultRole = accountService.DbUpdateAdminRoles(model.AccountView.Id, model.RoleCheckList); TempData["alert"] += resultRole.Message; if (resultRole.ReturnResult != ReturnResult.Success) { return(View(model)); } return(RedirectToAction("Index")); }
/// <summary> /// 刪除帳號 /// </summary> /// <param name="id">id</param> /// <returns>是否執行成功</returns> public CiResult DbDelete(Guid id) { CiResult ciResult = new CiResult(); Admin data = Db.Admins.Find(id); if (data != null) { data.DeleteTime = DateTime.UtcNow; data.IsDelete = true; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]刪除成功。", data.Account); ciResult.ReturnResult = ReturnResult.Success; } else { ciResult.Message = "帳號不存在,無法刪除"; } return(ciResult); }
/// <summary> /// 修改帳號 /// </summary> /// <param name="id">The identifier.</param> /// <param name="account">The account.</param> /// <returns> 是否執行成功 </returns> public CiResult DbUpdateAccount(Guid id, string account) { CiResult ciResult = new CiResult(); Admin data = Db.Admins.Find(id); if (data != null) { try { var exist = CheckName(account, id); if (!exist) { data.Account = account; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]帳號修改成功。", data.Account); ciResult.ReturnResult = ReturnResult.Success; } else { ciResult.Message = "帳號已被註冊。"; } } catch (Exception) { ciResult.Message = "帳號修改失敗。"; } } else { ciResult.Message = "帳號不存在,無法修改。"; } return ciResult; }
/// <summary> /// 修改密碼 /// </summary> /// <param name="id">The identifier.</param> /// <param name="password">The password.</param> /// <returns>是否執行成功</returns> public CiResult DbUpdatePassword(Guid id, string password) { CiResult ciResult = new CiResult(); var passHash = Crypto.SHA256(password + Salt); Admin data = Db.Admins.Find(id); if (data != null) { try { data.Password = passHash; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]密碼修改成功。", data.Account); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = "密碼修改失敗。"; } } else { ciResult.Message = "帳號不存在,無法修改。"; } return ciResult; }
/// <summary> /// 新增帳號 /// </summary> /// <param name="account">The account.</param> /// <param name="password">The password.</param> /// <returns>Admin id</returns> public CiResult<Guid> DbCreate(string account, string password) { CiResult<Guid> ciResult = new CiResult<Guid>(); try { var exist = CheckName(account, null); if (!exist) { var passHash = Crypto.SHA256(password + Salt); var data = new Admin { Id = Guid.NewGuid(), Account = account, Password = passHash, CreateTime = DateTime.Now, IsDelete = false }; Db.Admins.Add(data); Db.SaveChanges(); ciResult.Data = data.Id; ciResult.Message = string.Format("[{0}]帳號新增成功。", data.Account); ciResult.ReturnResult = ReturnResult.Success; } else { ciResult.Message = "帳號已被註冊。"; } } catch (Exception) { ciResult.Message = "帳號新增失敗。"; } return ciResult; }
/// <summary> /// 修改角色選單 /// </summary> /// <param name="id">The identifier.</param> /// <param name="menuCheck">The menu check.</param> /// <returns></returns> public CiResult DbUpdateRoleMenus(Guid id, List<TreeViewModel> menuCheck) { CiResult ciResult = new CiResult(); // treeview reindex 無遞迴 var data = Db.Roles.Find(id); if (data != null) { try { data.Menus.Clear(); foreach (var c in menuCheck) { if (c.IsChecked) { var menu = Db.Menus.Find(c.Id); data.Menus.Add(menu); } } Db.SaveChanges(); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = "選單修改失敗。"; } } else { ciResult.Message = "角色不存在,無法修改。"; } return ciResult; }
/// <summary> /// 新增資料 /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public CiResult<Guid> Create(Menu model) { CiResult<Guid> ciResult = new CiResult<Guid>(); //var maxSort = Db.Menus.Where(x => x.ParentId == model.ParentId).OrderByDescending(x => x.Sort).FirstOrDefault(); //int sort = 0; //if (maxSort != null) //{ // sort = maxSort.Sort + 3; //} try { var data = new Menu { Id = Guid.NewGuid(), NativeName = model.NativeName.ToTrim(), Controller = model.Controller.ToTrim(), // RoleName=Controler+Action Action = model.Action.ToTrim(), Description = model.Description, Url = model.Url.ToTrim(), Type = model.Type, IsMenu = model.IsMenu, Sort = model.Sort, // sort, IsDelete = false }; // 第二層 if (model.ParentId != null) { var parent = Db.Menus.Find(model.ParentId); if (parent != null) { data.ParentId = model.ParentId; } else { ciResult.Message = string.Format("父層[{0}]不存在", model.ParentId); } } Db.Menus.Add(data); Db.SaveChanges(); ciResult.Data = data.Id; ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = string.Format("[{0}]建立失敗。", model.NativeName); } return ciResult; }
/// <summary> /// 修改資料 /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public CiResult Update(Menu model) { CiResult ciResult = new CiResult(); try { var data = Db.Menus.Find(model.Id); data.NativeName = model.NativeName.ToTrim(); data.Controller = model.Controller.ToTrim(); data.Action = model.Action.ToTrim(); data.Description = model.Description; data.Url = model.Url.ToTrim(); data.IsMenu = model.IsMenu; data.Sort = model.Sort; // 第二層 if (model.ParentId != null) { var parent = Db.Menus.Find(model.ParentId); if (parent != null) { data.ParentId = model.ParentId; } else { ciResult.Message = string.Format("父層[{0}]不存在", model.ParentId); } } else { data.ParentId = null; } Db.SaveChanges(); ciResult.Message = string.Format("[{0}]修改成功。", model.NativeName); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = string.Format("[{0}]修改失敗。", model.NativeName); } return ciResult; }
/// <summary> /// 刪除資料 /// </summary> /// <param name="id">id</param> /// <returns>是否執行成功</returns> public CiResult Delete(Guid id) { CiResult ciResult = new CiResult(); Menu data = Db.Menus.Find(id); if (data != null) { data.IsDelete = true; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]刪除成功。", data.NativeName); ciResult.ReturnResult = ReturnResult.Success; } else { ciResult.Message = "資料不存在,無法刪除。"; } return ciResult; }
/// <summary> /// 修改帳號角色 /// </summary> /// <param name="id">The identifier.</param> /// <param name="roleCheck">The role check.</param> /// <returns></returns> public CiResult DbUpdateAdminRoles(Guid id, List<RoleCheck> roleCheck) { CiResult ciResult = new CiResult(); var data = Db.Admins.Find(id); if (data != null) { try { data.Roles.Clear(); foreach (var c in roleCheck) { if (c.IsChecked) { var role = Db.Roles.Find(c.Id); data.Roles.Add(role); } } Db.SaveChanges(); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = "角色修改失敗。"; } } else { ciResult.Message = "帳號不存在,無法修改。"; } return ciResult; }
/// <summary> /// 刪除帳號 /// </summary> /// <param name="id">id</param> /// <returns>是否執行成功</returns> public CiResult DbDelete(Guid id) { CiResult ciResult = new CiResult(); Admin data = Db.Admins.Find(id); if (data != null) { data.DeleteTime = DateTime.UtcNow; data.IsDelete = true; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]刪除成功。", data.Account); ciResult.ReturnResult = ReturnResult.Success; } else { ciResult.Message = "帳號不存在,無法刪除"; } return ciResult; }
/// <summary> /// 修改資料 /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public CiResult DbUpdate(Role model) { CiResult ciResult = new CiResult(); try { var data = Db.Roles.Find(model.Id); data.Name = model.Name.ToTrim(); data.Sort = model.Sort; Db.SaveChanges(); ciResult.Message = string.Format("[{0}]修改成功。", model.Name); ciResult.ReturnResult = ReturnResult.Success; } catch (Exception) { ciResult.Message = string.Format("[{0}]修改失敗。", model.Name); } return ciResult; }