コード例 #1
0
        public async Task <IActionResult> Put(int id, [FromBody] AnnouncementSaveDto value)
        {
            if (ModelState.IsValid)
            {
                var response = await _announcementService.EditAnnouncement(id, value);

                if (response.IsSuccessful)
                {
                    return(Ok());
                }
                else if (response.IsClientError)
                {
                    if (response.Payload != null)
                    {
                        return(Ok());
                    }
                    return(BadRequest("Resource doesnt exists!"));
                }
                else
                {
                    return(StatusCode(500, response.Message));
                }
            }
            else
            {
                return(BadRequest(String.Join(" ,", OtherServices.ReturnAllModelErrors(ModelState))));
            }
        }
コード例 #2
0
        public async Task <OperationResult> CreateAnnouncement(AnnouncementSaveDto announcement, string login)
        {
            var currentUser = await userRepository.GetUserByLogin(login);

            var announcementModel = mapper.Map <AnnouncementSaveDto, Announcement>(announcement);

            announcementModel.UserId      = currentUser.Id;
            announcementModel.DateCreated = DateTime.Now;
            await repository.AddAsync(announcementModel);

            var result = await repository.SaveChangesAsync();

            if (result > 0)
            {
                return(new OperationResult()
                {
                    IsSuccessful = true,
                    Payload = announcementModel
                });
            }
            else
            {
                return(OtherServices.GetIncorrectDatabaseConnectionResult());
            }
        }
コード例 #3
0
        public async Task <OperationResult> EditAnnouncement(int id, AnnouncementSaveDto announcement)
        {
            var announcementInDb = await repository.GetAsync(id);

            if (announcementInDb == null)
            {
                return(new OperationResult()
                {
                    IsSuccessful = false,
                    IsClientError = true
                });
            }

            if (announcementInDb.Title.Equals(announcement.Title) &&
                announcementInDb.Content.Equals(announcement.Content))
            {
                return(new OperationResult()
                {
                    IsSuccessful = false,
                    IsClientError = true,
                    Message = "Nothing has changed operation aborted",
                    Payload = announcement
                });
            }

            announcementInDb.Content = announcement.Content;
            announcementInDb.Title   = announcement.Title;

            var result = await repository.SaveChangesAsync();

            if (result > 0)
            {
                return(new OperationResult()
                {
                    IsSuccessful = true
                });
            }
            else
            {
                return(OtherServices.GetIncorrectDatabaseConnectionResult());
            }
        }
コード例 #4
0
        public async Task <IActionResult> Post([FromBody] AnnouncementSaveDto value)
        {
            if (ModelState.IsValid)
            {
                var currentName = User.Identity.Name;
                var response    = await _announcementService.CreateAnnouncement(value, currentName);

                if (response.IsSuccessful)
                {
                    return(Ok());
                }
                else
                {
                    return(StatusCode(500, response.Message));
                }
            }
            else
            {
                return(BadRequest(String.Join(" ,", OtherServices.ReturnAllModelErrors(ModelState))));
            }
        }