Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }