public async Task AddAsync(AnnouncementToAdd model)
        {
            var entity = _mapper.Map <AnnouncementEf>(model);

            await _announcementRepository.AddAsync(entity);

            if (model.CanSendEmail)
            {
                await SendEmailAsync(entity);
            }
        }
Пример #2
0
        private static AnnouncementEf ConvertFrom_AnnouncementToAdd_To_Entity(AnnouncementToAdd model, AnnouncementEf entity)
        {
            var instance = entity ?? new AnnouncementEf();

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

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

            var loggedUser = User.GetUserId();

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

            if (!await _residentialManager.ExistsAsync(residentialId))
            {
                return(NotFound(_localizer.GetValue(LocalizationMessage.ResidentialNotFound)));
            }

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

            return(NoContent());
        }