public async Task UpdateMailingAsync_UpdatesDataBase() { //arrange var worksId = new List <int>(); worksId.Add(5); var oldWorkCount = _mailingsDb[1].Works.Count; var oldTextCount = _mailingsDb[1].MailText.Count; var model = new UpdateMailingModel() { MailingId = 1, StartDate = "10.01", WorksId = worksId }; //act await _service.UpdateAsync(model); // assert Assert.AreEqual("10.01", _mailingsDb[1].StartDate); Assert.IsTrue(_mailingsDb[1].Works.Count > oldWorkCount); Assert.IsTrue(_mailingsDb[1].MailText.Count > oldTextCount); }
// Olga, change public async Task UpdateAsync(UpdateMailingModel updateModel) { if (updateModel == null) { throw new ExceptionTypes.NullValueException(); } if ((updateModel.FinishId.HasValue && updateModel.FinishId.Value < 1) || updateModel.MailingId < 1) { throw new ExceptionTypes.IncorrectIdException(); } if (!await _repository.ExistAsync(updateModel.MailingId)) { throw new ExceptionTypes.MailingNotExistException(); } CheckDate(updateModel.StartDate); if (updateModel.TextId != null) { GetElements <Text> getTexts = _textRepository.GetTextsAsyncById; await AddElement(updateModel.MailText, updateModel.TextId, getTexts, new ExceptionTypes.TextNotExistException()); } if (updateModel.WorksId != null) { GetElements <ControlEvent> getElements = _eventRepository.GetControlEventsAsyncById; await AddElement(updateModel.Works, updateModel.WorksId, getElements, new ExceptionTypes.ControlEventNotExistException()); foreach (var work in updateModel.Works) { var text = await _textRepository.CreateTextAsync(new Text() { RememberAboutDeadline = "Контрольное мероприятие " + work.ControlEventId, InfomationPart = "Дедлайн: " + work.Date }); updateModel.MailText.Add(text); } } if (updateModel.FinishId.HasValue) { var control = await _eventRepository.GetControlEventAsync(updateModel.FinishId.Value); if (control == null) { throw new ExceptionTypes.ControlEventNotExistException(); } updateModel.FinishWork = control; } await _repository.UpdateAsync(updateModel); }
public async Task UpdateControlEventAsync_ThrowsExpected(UpdateMailingModel updateModel, Type type, string message) { //arrange //act var exception = Assert.ThrowsAsync(type, () => _service.UpdateAsync(updateModel)); // assert Assert.AreEqual(message, exception.Message); Assert.AreEqual(exception.GetType(), type); }
//public IActionResult AddWork([FromBody]int courseId, [FromBody]int workId, [FromBody]bool isFinishWork) public async Task <IActionResult> AddWorkAsync(UpdateMailingModel updateModel) { try { await _service.UpdateAsync(updateModel); } catch (ExceptionTypes.NotExistException er) { return(NotFound(er.StackTrace)); } catch (Exception er) { return(BadRequest(er.StackTrace)); } return(new OkResult()); }
public async Task UpdateAsync(UpdateMailingModel updateModel) { var mailing = await _dbContext.Mailings.FirstOrDefaultAsync(m => m.MailingId == updateModel.MailingId); if (updateModel.StartDate != null) { mailing.StartDate = updateModel.StartDate; } if (updateModel.HelloText != null) { mailing.HelloText = updateModel.HelloText; } if (updateModel.FinishWork != null) { mailing.FinishWork = updateModel.FinishWork; } if (updateModel.Works != null) { foreach (var work in updateModel.Works) { mailing.Works.Add(work); } } if (updateModel.MailText != null) { foreach (var mText in updateModel.MailText) { mailing.MailText.Add(mText); } } _dbContext.Mailings.Update(mailing); await _dbContext.SaveChangesAsync(); }
private MailingsGeneratorDomain.Models.Mailing CreateUpdated(MailingsGeneratorDomain.Models.Mailing mailing, UpdateMailingModel model) { if (model.CourseName != null) { mailing.CourseName = model.CourseName; } if (model.FinishId.HasValue) { mailing.FinishWork = model.FinishWork; } if (model.HelloText != null) { mailing.HelloText = model.HelloText; } if (model.StartDate != null) { mailing.StartDate = model.StartDate; } if (model.Works != null) { foreach (var work in model.Works) { mailing.Works.Add(work); } } if (model.MailText != null) { foreach (var text in model.MailText) { mailing.MailText.Add(text); } } return(mailing); }