public async Task <ResultModel> Put([FromBody] FriendForEdit f) { var result = new ResultModel(); result.Message = f.Name; Friend friendToUpdate = await _context.Friends.FindAsync(f.Id); if (friendToUpdate == null) { result.IsSuccess = false; result.Message = "查無友宮"; return(result); } //檢查名稱是否重複 var query = from o in _context.Friends where o.Name == f.Name select o; if (query.Count() > 0) {//排除跟自己同名 if (query.FirstOrDefault().Id != f.Id) { result.IsSuccess = false; result.Message = "Name: " + f.Name + " exist."; return(result); } } try { _context.Entry(friendToUpdate).CurrentValues.SetValues(f); result.IsSuccess = true; result.Message = "編輯友宮資料成功"; await _context.SaveChangesAsync(); } catch (Exception e) { result.IsSuccess = false; result.Message = "DB ERROR"; } var accessToken = Request.Headers["Authorization"]; var user = await _TokenGetUserHelper.GetUser(accessToken); logger.Info("userId=" + user.Id + ", username="******"\n Edit " + "Friends id= " + f.Id + ", name=" + f.Name + " successfully."); return(result); }
/// <summary> /// 檢查友宮資料 /// </summary> /// <returns></returns> public ResultModel CheckFriend(FriendForEdit f) { var result = new ResultModel(); result.IsSuccess = true; DateTime dateValue; ///輸入資料檢查 /// foreach (PropertyInfo property in f.GetType().GetProperties()) { if (property.GetValue(f) != null) { result.IsSuccess = true; break; } } if (!result.IsSuccess) { result.Message = "輸入資料為空"; return(result); } if (!string.IsNullOrEmpty(f.Name)) { f.Name = f.Name.Trim(); } if (!string.IsNullOrEmpty(f.ActivityDate)) { f.ActivityDate = f.ActivityDate.Trim(); if (!DateTime.TryParse(f.ActivityDate, out dateValue)) { result.IsSuccess = false; result.Message += "活動日期不存在"; } } if (!string.IsNullOrEmpty(f.Notes)) { f.Notes = f.Notes.Trim(); } if (!string.IsNullOrEmpty(f.ContactName)) { f.ContactName = f.ContactName.Trim(); } //if (!string.IsNullOrEmpty(f.Phone)) { // f.Phone = f.Phone.Trim(); // string PhonePattern = @"0\d{1,2}-\d{6,8}"; // if (!Regex.IsMatch(f.Phone, PhonePattern)) { // result.IsSuccess = false; // result.Message += "請輸正確市話號碼, ex:02-123456."; // } //} //if (!string.IsNullOrEmpty(f.CellPhone)) //{ // f.CellPhone = f.CellPhone.Trim(); // string CellPhonePattern = @"^09\d{2}-\d{6}$"; // if (!Regex.IsMatch(f.CellPhone, CellPhonePattern)) // { // result.IsSuccess = false; // result.Message += "請輸正確手機號碼, ex:0912-123456."; // } //} return(result); }