Пример #1
0
        private AnnouncementEf ConvertFrom_AnnouncementToUpdate_To_Entity(AnnouncementToUpdate model, AnnouncementEf entity)
        {
            var instance = entity ?? new AnnouncementEf();

            instance.CreatorId    = model.UserId;
            instance.CreationDate = DateTime.Now;
            instance.Title        = model.Title.RemoveSpace();
            instance.Description  = model.Description.RemoveSpace();

            return(instance);
        }
        public async Task UpdateAsync(AnnouncementToUpdate model)
        {
            var entity = await _announcementRepository.GetByIdAsync(model.Id);

            _mapper.Map(model, entity);

            await _announcementRepository.UpdateAsync(entity);

            if (model.CanSendEmail)
            {
                await SendEmailAsync(entity);
            }
        }
Пример #3
0
        private AnnouncementToUpdate ConvertFrom_Entity_To_AnnouncementToUpdate(AnnouncementEf entity, AnnouncementToUpdate model)
        {
            var instance = model ?? new AnnouncementToUpdate();

            instance.Id          = entity.Id;
            instance.Title       = entity.Title;
            instance.Description = entity.Description;

            return(instance);
        }
        public async Task <IActionResult> Update([FromRoute] int residentialId, [FromRoute] int announcementId, [FromBody] AnnouncementToUpdate announcement)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var loggedUser = User.GetUserId();

            if (!await _userManager.IsAdminAsync(residentialId, loggedUser))
            {
                return(Forbid(_localizer.GetValue(LocalizationMessage.YouDoNotHavePermissionToAccessThisResource)));
            }

            if (!await _announcementManager.ExistsAsync(residentialId, announcementId))
            {
                return(NotFound(_localizer.GetValue(LocalizationMessage.AnnouncementNotFound)));
            }

            announcement.UserId = loggedUser;
            await _announcementManager.UpdateAsync(announcement);

            return(NoContent());
        }