Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
        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));
        }