public async Task AddAsync(AnnouncementToAdd model) { var entity = _mapper.Map <AnnouncementEf>(model); await _announcementRepository.AddAsync(entity); if (model.CanSendEmail) { await SendEmailAsync(entity); } }
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()); }