public async Task <Response <string> > AddDiary(CreateDiaryRequest request)
        {
            var getMom = await _unitOfWork.ChildInfoRepository.FirstAsync(x => x.Id == request.ChildId);

            var diary = new Diary
            {
                ChildId          = request.ChildId,
                ImageUrl         = request.ImageURL,
                DiaryContent     = request.DiaryContent,
                CreatedBy        = request.CreatedBy,
                CreatedTime      = DateTimeOffset.Now.ToOffset(new TimeSpan(7, 0, 0)).DateTime,
                LastModifiedTime = DateTimeOffset.Now.ToOffset(new TimeSpan(7, 0, 0)).DateTime,
                PublicFlag       = request.PublicFlag,
            };
            await _unitOfWork.DiaryRepository.AddAsync(diary);

            if (request.PublicFlag)
            {
                var staffs = await _unitOfWork.UserRepository.GetAsync(x => x.RoleId == RoleConstant.STAFF_ROLE && x.DelFlag == false);

                foreach (var staff in staffs)
                {
                    await sendNotification(staff.Id, "Yêu cầu đăng nhật ký mới!", $"Id mẹ \'{getMom.MomId}\' gửi yêu cầu public nhật ký \'{diary.Id}\', vui lòng kiểm tra và phê duyệt!");
                }
            }

            await _unitOfWork.SaveAsync();

            return(new Response <string>(diary.Id.ToString(), $"Thêm nhật ký thành công, id: {diary.Id}"));
        }
Пример #2
0
        public bool Create(String token, DiaryPost post)
        {
            try
            {
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(BASE_URL);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                CreateDiaryRequest diaryRequest = new CreateDiaryRequest
                {
                    Token    = token,
                    Title    = post.Title,
                    IsPublic = post.IsPublic,
                    Text     = post.Text
                };

                HttpResponseMessage response = client.PostAsync("diary/create", new StringContent(JsonConvert.SerializeObject(diaryRequest), Encoding.UTF8, "application/json")).Result;

                return(response.IsSuccessStatusCode);
            }
            catch
            {
                return(false);
            }
        }
Пример #3
0
        public ApiResponseModel Create([FromBody] CreateDiaryRequest createRequest)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser user = _dbContext.GetUserWithToken(createRequest.Token);
                if (user != null)
                {
                    Diary newDiary = new Diary()
                    {
                        Title       = createRequest.Title,
                        Author      = user.UserName,
                        PublishDate = DateTime.Now,
                        IsPublic    = createRequest.IsPublic,
                        Text        = createRequest.Text
                    };
                    _dbContext.Add(newDiary);
                    if (_dbContext.SaveChanges() > 0)
                    {
                        Response.StatusCode = 201;
                        return(new ApiResponseModel()
                        {
                            Status = true,
                            Result = new CreateDiaryResultModel()
                            {
                                Id = newDiary.Id.ToString()
                            }
                        });
                    }
                }
            }

            return(new ApiResponseModel()
            {
                Status = false,
                Error = "Invalid authentication token."
            });
        }
 public async Task <IActionResult> AddDiary(CreateDiaryRequest request)
 {
     return(Ok(await _diaryService.AddDiary(request)));
 }