public static void CompareBusinessModelGroup(BusinessModelGroup expected, BusinessModelGroup actual) { var actualEmails = expected.Emails as List <BusinessModelEmails>; var expectedEmails = actual.Emails as List <BusinessModelEmails>; Assert.AreEqual(expected.Id, actual.Id); Assert.AreEqual(expected.GroupName, actual.GroupName); Assert.AreEqual(expected.GroupOwnerId, actual.GroupOwnerId); Assert.AreEqual(expectedEmails.Count, actualEmails.Count); Assert.AreEqual(expectedEmails[0].Email, actualEmails[0].Email); }
public IActionResult PostNewGroup([FromBody] BusinessModelGroup group) { group.GroupOwnerId = GetUserId(); var id = _buisness.SaveBusinessModelGroup(group); if (id != -1) { return(Created($"{Request.Path}/{id}", id)); } _logger.LogDebug($"{Environment.StackTrace} user: {GetUserId()} - NoContent"); return(NoContent()); }
public BusinessModelGroup GetBusinessModel(int groupId) { var group = _data.SelectGroupById(groupId); if (group != null) { var consumers = _data.SelectConsumersByGroupId(groupId); var model = new BusinessModelGroup(consumers, group); return(model); } return(null); }
public bool PutBusinessModelGroup(BusinessModelGroup model) { var group = new MailingGroup { Id = model.Id, GroupOwnerId = model.GroupOwnerId, Name = model.GroupName }; var consumers = model.Emails .Select(x => new MailConsumer { ConsumerAddress = x.Email, GroupId = model.Id }).ToList(); return(_data.UpdateGroup(model.Id, group, consumers)); }
public void PutBusinessModelGroupShouldUpdateModel(int groupId) { var emails = new List <string>() { "*****@*****.**" }; var expectedModel = BusinessTestHelper.CreateBusinessModelGroup(1, "updatedName", emails); expectedModel.Id = groupId; var result = _buisness.PutBusinessModelGroup(expectedModel); var actualGroup = _data.SelectGroupById(groupId); var actualConsumers = _data.SelectConsumersByGroupId(groupId) as List <MailConsumer>; var actualModel = new BusinessModelGroup(actualConsumers, actualGroup); Assert.IsTrue(result); BusinessTestHelper.CompareBusinessModelGroup(expectedModel, actualModel); }
public void SaveBusinessModelGroupShouldSaveModel() { var emails = new List <string>() { "*****@*****.**" }; var expectedModel = BusinessTestHelper.CreateBusinessModelGroup(1, "insertedName", emails); var modelId = _buisness.SaveBusinessModelGroup(expectedModel); expectedModel.Id = modelId; var actualGroup = _data.SelectGroupById(modelId); var actualConsumers = _data.SelectConsumersByGroupId(actualGroup.Id); var actualModel = new BusinessModelGroup(actualConsumers, actualGroup); Assert.AreNotEqual(-1, modelId); BusinessTestHelper.CompareBusinessModelGroup(expectedModel, actualModel); }
public IActionResult PutGroup(int groupId, [FromBody] BusinessModelGroup group) { group.Id = groupId; var actualGroup = _buisness.GetBusinessModel(group.Id); if (actualGroup is null) { _logger.LogDebug($"{Environment.StackTrace} user: {GetUserId()} - NotFound"); return(NotFound()); } if (GetUserId() != actualGroup.GroupOwnerId) { _logger.LogDebug($"{Environment.StackTrace} user: {GetUserId()} - Unauthorized"); return(Unauthorized()); } group.GroupOwnerId = GetUserId(); _buisness.PutBusinessModelGroup(group); return(Ok()); }
public int SaveBusinessModelGroup(BusinessModelGroup model) { var group = new MailingGroup { Name = model.GroupName, GroupOwnerId = model.GroupOwnerId }; var consumers = new List <MailConsumer>(); foreach (var e in model.Emails) { var consumer = new MailConsumer { ConsumerAddress = e.Email, GroupId = group.Id }; consumers.Add(consumer); } return(_data.InsertGroup(group, consumers)); }