public async Task <IHttpActionResult> Remove([FromBody] QItem p) { var r = new ResultBase(); var id = p.id; using (db0 = new Bpple_DBEntities()) { try { var md = await db0.Member.FindAsync(id); var entry = db0.Entry <Member>(md); entry.State = EntityState.Deleted; await db0.SaveChangesAsync(); r.state = 0; } catch (Exception ex) { r.state = 999; r.message = ex.Message; } return(Ok(r)); } }
public async Task <IHttpActionResult> Modify([FromBody] PutData p) { var r = new ResultBase(); var md = p.md; var id = p.id; using (db0 = new Bpple_DBEntities()) { try { #region set value db0.Entry(md).State = EntityState.Modified; await db0.SaveChangesAsync(); #endregion r.state = 0; } catch (Exception ex) { r.state = 999; r.message = ex.Message; } return(Ok(r)); } }
/// <summary> /// 新增 /// </summary> /// <param name="p"></param> /// <returns></returns> public async Task <IHttpActionResult> Post([FromBody] PostData p) { var r = new ResultInsert <int>(); var md = p.md; var id = p.id; using (db0 = new Bpple_DBEntities()) { try { db0.Member.Add(md); await db0.SaveChangesAsync(); r.state = 0; r.id = md.id; } catch (Exception ex) { r.state = 999; r.message = ex.Message; } return(Ok(r)); } }
/// <summary> /// 取得查詢資料及Grid Page資料 /// </summary> /// <param name="q"></param> /// <returns></returns> public async Task <IHttpActionResult> Get([FromUri] QGet q) { var r = new ResultData <GridInfo>(); int page = q.page == null ? 1 : (int)q.page; var predicate = PredicateBuilder.True <Member>(); if (q.keyword != null) { predicate = predicate.And(x => x.name.Contains(q.keyword) || x.zip.Contains(q.keyword) || x.city.Contains(q.keyword) || x.country.Contains(q.keyword) || x.address.Contains(q.keyword)); } using (db0 = new Bpple_DBEntities()) { var item_where = db0.Member.AsExpandable().Where(predicate); var item_count = await item_where.CountAsync(); //取得此條件下總筆數 //進行排序 或點選欄位排序 IQueryable <Member> item_order = null; if (!SortField(item_where, q._field, q._sort, out item_order)) { item_order = item_where.OrderByDescending(x => new { x.id }); //沒有排序進行預設排序 } int start_record = PageCount.PageInfo(page, defPageSize, item_count); //計算分頁資訊,取得需跳至開始的那一筆。 var get_item = await item_order .Select(x => new { x.id, x.name, x.birthday, x.zip, x.city, x.country, x.address, x.state }).AsExpandable() .Skip(start_record) .Take(defPageSize) .ToListAsync(); r.state = 0; //設定狀態 0:正常 r.exist = get_item.Any(); r.data = new GridInfo() { rows = get_item, total = PageCount.TotalPage, page = PageCount.Page, records = PageCount.RecordCount, startcount = PageCount.StartCount, endcount = PageCount.EndCount, field = q._field, sort = q._sort }; return(Ok(r)); } }
public async Task <IHttpActionResult> Get([FromUri] QItem p) { var r = new ResultData <Member>(); var id = p.id; using (db0 = new Bpple_DBEntities()) { var item = await db0.Member.FindAsync(id); r.state = 0; r.data = item; r.exist = item != null; return(Ok(r)); } }
public async Task <string> loginCheck(LoginViewModel model) { LoginResult r = new LoginResult(); if (!ModelState.IsValid) { r.message = ModelStateErrorPack(); r.state = 3; //填寫不完整 return(defJSON(r)); } if (string.IsNullOrEmpty((Session[WebSetup.CheckCodeSession] ?? "").ToString())) { r.state = 1; Session[WebSetup.CheckCodeSession] = Guid.NewGuid(); r.message = "驗證碼不正確"; return(defJSON(r)); } r.vildate = Session[WebSetup.CheckCodeSession].Equals(model.validate) ? true : false; if (!r.vildate) { Session[WebSetup.CheckCodeSession] = Guid.NewGuid(); //只要有錯先隨意產生唯一碼 以防暴力破解,新的CheckCode會在Validate產生。 r.state = 1; //驗證碼不正確 r.message = "驗證碼不正確"; return(defJSON(r)); } #region 帳密碼檢查 using (var db0 = new Bpple_DBEntities()) { try { var account = model.account.Trim(); var password = ProcCore.EncryptString.Cryp(model.password.Trim()); var get_user = await db0.TBLogin.Where(x => x.LoginId == account& x.Pwd == password).FirstOrDefaultAsync(); if (get_user == null) { //帳密碼錯誤 r.state = 1; r.message = "帳號或密碼錯誤,請重新輸入。";//帳號或密碼錯誤 請重新輸入 return(defJSON(r)); } if (get_user.state == UserState.Stop) //帳號停權 { r.state = 2; //帳號停權 r.message = "此帳號已停權,無法登入!"; return(defJSON(r)); } #region 後台登錄 string user_data = get_user.LoginType; //記錄登錄權限類型 //有效期限 三天 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, get_user.LoginId, DateTime.Now, DateTime.Now.AddDays(3), false, user_data, FormsAuthentication.FormsCookiePath); string encTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); DateTime last_login_time = get_user.last_login ?? DateTime.Now; get_user.last_login = DateTime.Now; await db0.SaveChangesAsync(); //寫入所需的Cookie資訊 var cookie_loginid = new HttpCookie(WebSetup.Cookie_LoginId, get_user.LoginId.Trim()); cookie_loginid.HttpOnly = true; Response.Cookies.Add(cookie_loginid); var cookie_login_type = new HttpCookie(WebSetup.Cookie_RoleId, get_user.LoginType); cookie_login_type.HttpOnly = true; Response.Cookies.Add(cookie_login_type); var cookie_login_name = new HttpCookie(WebSetup.Cookie_UserName, Server.UrlPathEncode(get_user.name)); cookie_login_name.HttpOnly = true; Response.Cookies.Add(cookie_login_name); #endregion r.url = Url.Content("~/Home/Member"); r.state = 0; return(defJSON(r)); } catch (Exception ex) { r.message = ex.Message; r.state = 99; return(defJSON(r)); } } #endregion }