示例#1
0
        private void AddMemberToDatabase(BEMemberList member, string newListId)
        {
            try
            {
                using(var db = new BePreferencesEntities())
                {
                    BEMemberList newMember = new BEMemberList
                    {
                        Email = member.Email,
                        FirstName = member.FirstName,
                        LastName = member.LastName,
                        AccessToken = member.AccessToken,
                        Created = DateTime.Now,
                        ListId = newListId
                    };

                    db.BEMemberLists.Add(newMember);
                    db.SaveChanges();
                    
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
示例#2
0
        public async Task<ActionResult> UnsubscribeUser(string listId, string email)
        {
            try
            {
                IMailChimpManager manager = new MailChimpManager(APIKEY);

                using (var db = new BePreferencesEntities())
                {
                    BEMemberList member = db.BEMemberLists.FirstOrDefault(e => e.Email == email);
                    if (member != null)
                    {
                        await this.manager.Members.DeleteAsync(listId, member.Email);
                                                
                    }

                    RemoveMemberToDatabase(member, listId);
                    
                    return RedirectToAction("Index", new { email = "*****@*****.**" });
                }
                
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
示例#3
0
        public async Task<ActionResult> GetMailingLists()
        {
            
            var mailChimpListCollection = await this.manager.Lists.GetAllAsync().ConfigureAwait(false);

            foreach (MailChimp.Net.Models.List lst in mailChimpListCollection)
            {
                var newMailList = new BEMailingList
                {
                    ListName = lst.Name,
                    ListId = lst.Id,
                    MemberCount = lst.Stats.MemberCount,
                    LastUpdated = DateTime.Now                    
                };

                BePreferencesEntities db = new BePreferencesEntities();
                db.BEMailingLists.Add(newMailList);
                db.SaveChanges();
            }

            MailingListsViewModel vwMod = new MailingListsViewModel();

            vwMod.AllLists = mailChimpListCollection;

            return View(vwMod);
        }
示例#4
0
        // GET: Admin
        public ActionResult Index()
        {
            List <UserSubscribedtoListViewModel> userModel       = new List <UserSubscribedtoListViewModel>();
            MailingListOptionsViewModel          mailListOptions = new MailingListOptionsViewModel();

            mailListOptions.CurrentlySubscribedListId = "NA";

            BePreferencesEntities db = new BePreferencesEntities();

            List <BEMailingList> list = db.BEMailingLists.ToList();

            foreach (BEMailingList mlist in list)
            {
                UserSubscribedtoListViewModel beMaiList = new UserSubscribedtoListViewModel();

                beMaiList.MailingList = mlist;

                userModel.Add(beMaiList);
            }


            mailListOptions.MailingLists       = userModel;
            mailListOptions.MailingListMembers = db.BEMailingLists.ToList();


            return(View(mailListOptions));
        }
示例#5
0
        public ActionResult GetProductLinks(int id)
        {
            BePreferencesEntities db = new BePreferencesEntities();
            string test = db.InkeyProducts.FirstOrDefault(i => i.InkeyProductsId == id).ProductImageLink + "," + db.InkeyProducts.FirstOrDefault(i => i.InkeyProductsId == id).ProductLink + "," + db.InkeyProducts.FirstOrDefault(i => i.InkeyProductsId == id).PhoneticName;

            return(Content(db.InkeyProducts.FirstOrDefault(i => i.InkeyProductsId == id).ProductImageLink + "," + db.InkeyProducts.FirstOrDefault(i => i.InkeyProductsId == id).ProductLink + "," + db.InkeyProducts.FirstOrDefault(i => i.InkeyProductsId == id).PhoneticName));
        }
        public static List <SelectListItem> GetDropDownListForInkeyProducts()
        {
            BePreferencesEntities db = new BePreferencesEntities();

            return(db.InkeyProducts.Select(r => new SelectListItem {
                Text = r.ProductName, Value = r.InkeyProductsId.ToString()
            }).ToList());
        }
示例#7
0
        public ActionResult EditQuestion(int id)
        {
            BePreferencesEntities db           = new BePreferencesEntities();
            InkeyAnswer           answerToEdit = db.InkeyAnswers.FirstOrDefault(i => i.InkeyAnswersId == id);

            //answerToEdit.ProductName = db.InkeyProducts.FirstOrDefault(p => p.InkeyProductsId == (int)answerToEdit.ProductId).ProductName;
            return(View(db.InkeyAnswers.FirstOrDefault(i => i.InkeyAnswersId == id)));
        }
示例#8
0
        public ActionResult EditProduct(InkeyProduct inkProduct)
        {
            try
            {
                using (var db = new BePreferencesEntities())
                {
                    db.Entry(inkProduct).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }

                return(RedirectToAction("ProductManager"));
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#9
0
 private void CheckQuestionsandAddtoDatabase(List <InkeyAnswer> attendeesToAdd)
 {
     try
     {
         using (var db = new BePreferencesEntities())
         {
             foreach (InkeyAnswer question in attendeesToAdd)
             {
                 db.InkeyAnswers.Add(question);
                 db.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#10
0
        public ActionResult EditQuestion(InkeyAnswer inkAnswer)
        {
            try
            {
                using (var db = new BePreferencesEntities())
                {
                    inkAnswer.ProductName     = db.InkeyProducts.FirstOrDefault(p => p.InkeyProductsId == inkAnswer.ProductId).ProductName;
                    db.Entry(inkAnswer).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }

                return(RedirectToAction("InkeyAnswerForm"));
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#11
0
        private void ReInstateMemberToDatabase(BEMemberList member)
        {
            try
            {
                using (var db = new BePreferencesEntities())
                {
                    member.Archived = false;

                    db.Entry(member).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
示例#12
0
 private void CheckStoresAndAddtoDatabaseUS(List <InkeyStoresU> storesToAdd)
 {
     try
     {
         using (var db = new BePreferencesEntities())
         {
             foreach (InkeyStoresU store in storesToAdd)
             {
                 db.InkeyStoresUS.Add(store);
                 db.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#13
0
        public ActionResult RemoveProduct(int prodId)
        {
            try
            {
                using (var db = new BePreferencesEntities())
                {
                    InkeyProduct newProd = db.InkeyProducts.FirstOrDefault(p => p.InkeyProductsId == prodId);

                    db.InkeyProducts.Remove(newProd);
                    db.SaveChanges();

                    return(RedirectToAction("ProductManager"));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#14
0
        public ActionResult AddNewProduct(ProductManagerViewModel newProdMod)
        {
            try
            {
                using (var db = new BePreferencesEntities())
                {
                    InkeyProduct newProd = newProdMod.NewProduct;

                    db.InkeyProducts.Add(newProd);
                    db.SaveChanges();

                    return(RedirectToAction("ProductManager"));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#15
0
        public ActionResult InkeyAnswerForm(InkeyViewModel inkMod)
        {
            try
            {
                InkeyAnswer newAns = inkMod.answer;
                using (var db = new BePreferencesEntities())
                {
                    newAns.ProductName = db.InkeyProducts.FirstOrDefault(p => p.InkeyProductsId == inkMod.answer.ProductId).ProductName;
                    db.InkeyAnswers.Add(newAns);
                    db.SaveChanges();

                    return(View(new InkeyViewModel()));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#16
0
        private void RemoveMemberToDatabase(BEMemberList member, string newListId)
        {
            try
            {
                using (var db = new BePreferencesEntities())
                {
                    member.ListId = newListId;
                    member.Archived = true;

                    db.Entry(member).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                }
            }
            catch (Exception)
            {

                throw;
            }
        }
示例#17
0
        public ActionResult Index(string x4p = "*****@*****.**")
        {
            if (x4p != "*****@*****.**")
            {
                string decrypted = EncryptionHelper.DecryptRijndael(x4p);
            }

            List<UserSubscribedtoListViewModel> userModel = new List<UserSubscribedtoListViewModel>();
            MailingListOptionsViewModel mailListOptions = new MailingListOptionsViewModel();
            mailListOptions.CurrentlySubscribedListId = "NA";

            BePreferencesEntities db = new BePreferencesEntities();

            List<BEMemberList> listsMemberof = db.BEMemberLists.Where(u => u.Email == x4p).ToList();

            foreach (BEMailingList mlist in db.BEMailingLists.ToList())
            {
                UserSubscribedtoListViewModel beMaiList = new UserSubscribedtoListViewModel();

                if (listsMemberof.FirstOrDefault(m => m.ListId == mlist.ListId && m.Archived == false) != null)
                {
                    beMaiList.Subscribed = true;
                    mailListOptions.CurrentlySubscribedListId = mlist.ListId;
                }
                else
                {
                    beMaiList.Subscribed = false;
                }

                beMaiList.MailingList = mlist;
                userModel.Add(beMaiList);
            }

            mailListOptions.Email = x4p;
            mailListOptions.MailingLists = userModel;
            mailListOptions.MailingListMembers = db.BEMailingLists.ToList();


            return View(mailListOptions);
        }
示例#18
0
        public async Task<ActionResult> GenerateMembers()
        {
            IMailChimpManager manager = new MailChimpManager(APIKEY);

            List<BEMemberList> newMemberList = new List<BEMemberList>();

            List<MailChimp.Net.Models.Member> allMembers = new List<MailChimp.Net.Models.Member>();

            var mailChimpListCollection = await manager.Lists.GetAllAsync().ConfigureAwait(false);

            foreach (MailChimp.Net.Models.List lst in mailChimpListCollection)
            {
                var lstMembers = await manager.Members.GetAllAsync(lst.Id).ConfigureAwait(false);

                allMembers.AddRange(lstMembers);
            }

            foreach (MailChimp.Net.Models.Member member in allMembers)
            {
                using (var db = new BePreferencesEntities())
                {
                    var newMember = new BEMemberList
                    {
                        FirstName = member.MergeFields.ContainsKey("FNAME") ? member.MergeFields["FNAME"].ToString() : "NA",
                        LastName = member.MergeFields.ContainsKey("LNAME") ? member.MergeFields["LNAME"].ToString() : "NA",
                        Email = member.EmailAddress,
                        AccessToken = Guid.NewGuid().ToString(),
                        Created = DateTime.Now,
                        ListId = member.ListId
                       

                    };

                    db.BEMemberLists.Add(newMember);
                    db.SaveChanges();
                }
            }

            return View(newMemberList);
        }
示例#19
0
        public async Task<ActionResult> SubscribeUser(string listId, string email)
        {
            try
            {
                 if (listId == "NA")
                        return Content("error");

                    using (var db = new BePreferencesEntities())
                    {
                        if (db.BEMemberLists.FirstOrDefault(m => m.Email == email && m.ListId == listId && m.Archived == true) != null)
                        {
                            BEMemberList member = db.BEMemberLists.FirstOrDefault(e => e.Email == email && e.ListId == listId);
                            if (member != null)
                            {
                                // MailChimp.Net.Models.Member memberToSubscribe = await GetMember(currentlistId, email);
                                var newMember = new MailChimp.Net.Models.Member { EmailAddress = email, StatusIfNew = MailChimp.Net.Models.Status.Subscribed };

                                newMember.MergeFields.Add("FNAME", member.FirstName);
                                newMember.MergeFields.Add("LNAME", member.LastName);
                                newMember.MergeFields.Add("FULLNAME", member.FirstName + " " + member.LastName);

                                await this.manager.Members.AddOrUpdateAsync(listId, newMember);
                                ReInstateMemberToDatabase(member);


                                return RedirectToAction("Index", new { email = member.Email });
                            }
                            else
                            {
                                return RedirectToAction("Index", new { email = email });
                            }
                        }
                        else
                        {


                            BEMemberList member = db.BEMemberLists.FirstOrDefault(e => e.Email == email);
                            if (member != null)
                            {
                                // MailChimp.Net.Models.Member memberToSubscribe = await GetMember(currentlistId, email);
                                var newMember = new MailChimp.Net.Models.Member { EmailAddress = email, StatusIfNew = MailChimp.Net.Models.Status.Subscribed };

                                newMember.MergeFields.Add("FNAME", member.FirstName);
                                newMember.MergeFields.Add("LNAME", member.LastName);
                                newMember.MergeFields.Add("FULLNAME", member.FirstName + " " + member.LastName);

                                await this.manager.Members.AddOrUpdateAsync(listId, newMember);
                                AddMemberToDatabase(member, listId);


                                return RedirectToAction("Index", new { email = member.Email });
                            }
                            else
                            {
                                return RedirectToAction("Index", new { email = email });
                            }
                        }
                       
                    }
                
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
        }
示例#20
0
        public ActionResult EditProduct(int id)
        {
            BePreferencesEntities db = new BePreferencesEntities();

            return(PartialView("Partials/_EditProduct", db.InkeyProducts.FirstOrDefault(s => s.InkeyProductsId == id)));
        }
示例#21
0
        public ActionResult UserQuestions()
        {
            BePreferencesEntities db = new BePreferencesEntities();

            return(View(db.InkeyUserQuestions.ToList()));
        }