public EmailList CreateEmailRequestModel(EmailListRequestModel requestModel)
        {
            EmailList emailList = new EmailList()
            {
                Contacts      = new List <Contact>(),
                EmailListName = requestModel.EmailListName
            };

            return(emailList);
        }
        // POST: api/EmailLists
        public async Task <HttpResponseMessage> PostEmailList([FromBody] EmailListRequestModel emailListRequest)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState));
            }

            var emailListSend = new EmailList();
            var emailList     = await manager.AddEmailList(emailListSend, emailListRequest);

            return(Request.CreateResponse(HttpStatusCode.Created, emailList));
        }
Exemplo n.º 3
0
        public async Task <EmailListResponseModel> AddEmailList(EmailList еmailListAdd, EmailListRequestModel requestEmailList)
        {
            using (DbContextTransaction transaction = db.Database.BeginTransaction())
            {
                еmailListAdd.EmailListName = requestEmailList.EmailListName;

                if (requestEmailList.Contacts != null)
                {
                    еmailListAdd.Contacts.Clear();
                    foreach (Guid guid in requestEmailList.Contacts)
                    {
                        var contacts = await db.Contacts.FirstOrDefaultAsync(x => x.GuID == guid);

                        if (contacts != null)
                        {
                            еmailListAdd.Contacts.Add(contacts);
                        }
                    }
                }
                try
                {
                    db.EmailLists.AddOrUpdate(еmailListAdd);
                    await db.SaveChangesAsync();

                    transaction.Commit();
                }
                catch
                {
                    transaction.Rollback();
                    throw;
                }
                return(factory.CreateEmailResponseModel(еmailListAdd));
            }
        }