コード例 #1
0
        public ActionResult ImportSubcriber(int?id)
        {
            SubscribersViewModel model = new SubscribersViewModel();

            if (id == null)
            {
                ViewBag.ListName = new SelectList(M_List.GetLists(), "ListID", "ListName", "Select List");
            }
            else
            {
                model.ListID = id;
                return(View(model));
            }
            return(View(model));
        }
コード例 #2
0
 public ActionResult ImportSubcriber(HttpPostedFileBase UploadFile, SubscribersViewModel model)
 {
     subscriber = new M_Subscriber();
     if (ModelState.IsValid)
     {
         if (UploadFile != null && UploadFile.ContentLength > 0)
         {
             if (UploadFile.FileName.EndsWith(".xlsx"))
             {
                 try
                 {
                     subscriber.ImportExcel(UploadFile, model);
                 }
                 catch (M_CustomException ex)
                 {
                     ModelState.AddModelError("importsub", ex.message);
                     return(RedirectToAction("ImportSubcriber/" + model.ListID));
                 }
             }
             else if (UploadFile.FileName.EndsWith(".xls"))
             {
                 try
                 {
                     subscriber.ImportExcel(UploadFile, model);
                 }
                 catch (M_CustomException ex)
                 {
                     ModelState.AddModelError("importsub", ex.message);
                     return(RedirectToAction("ImportSubcriber/" + model.ListID));
                 }
             }
             else if (UploadFile.FileName.EndsWith(".csv"))
             {
                 try
                 {
                     subscriber.ImportCSV(UploadFile, model);
                 }
                 catch (M_CustomException ex)
                 {
                     ModelState.AddModelError("importsub", ex.message);
                     return(RedirectToAction("ImportSubcriber/" + model.ListID));
                 }
             }
         }
     }
     return(RedirectToAction("ViewSubscribers", model.ListID));
 }
コード例 #3
0
        /// <summary>
        /// unsubscribe subscriber from list
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Unsubscribers(int?id)
        {
            userID     = GetUser();
            subscriber = new M_Subscriber();
            SubscribersViewModel model = new SubscribersViewModel();

            try
            {
                model.SubscribersToList = subscriber.Unsubscriber(id);
                return(View(model));
            }
            catch (M_CustomException ex)
            {
                ModelState.AddModelError("unsub", ex.message);
                return(RedirectToAction("Index", "List"));
            }
        }
コード例 #4
0
        public ActionResult SubscribeNewsletter(string email, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                var subscribersViewModel = new SubscribersViewModel {
                    DateCreated = DateTime.UtcNow, Email = email
                };
                var subscriber = Mapper.Map <SubscribersViewModel, NewsletterSubscriber>(subscribersViewModel);
                _subscribersService.Add(subscriber);
                ModelState.Clear();
            }

            // AddMessage(this, "", "Record has Added Successfully", MessageType.Success);

            return(Redirect(returnUrl));
            // return Json(new { ok = true, url = Url.Content("~/") });
        }
コード例 #5
0
        /// <summary>
        /// Imports CSV data and saves to database
        /// </summary>
        /// <param name="UploadFile"></param>
        /// <param name="model"></param>
        public void ImportCSV(HttpPostedFileBase UploadFile, SubscribersViewModel model)
        {
            subscriber = new M_Subscriber();
            string filename = System.IO.Path.GetFileNameWithoutExtension(UploadFile.FileName);

            if (UploadFile.FileName.EndsWith(".csv"))
            {
                using (dbcontext = new ApplicationDbContext())
                {
                    Stream stream   = UploadFile.InputStream;
                    string thisFile = filename + "_" + model.ListID + ".csv";
                    // var path = System.IO.Path.Combine(Server.MapPath("~/CSVFiles"), thisFile);
                    DataTable csvTable = new DataTable();
                    using (CsvReader csvReader = new CsvReader(new StreamReader(stream), true))
                    {
                        csvTable.Load(csvReader);
                    }
                    model.dataTable = csvTable;
                    //read column headers
                    var columnHeaders = (from DataColumn dc in model.dataTable.Columns select dc.ColumnName).ToArray();
                    //save list to database
                    if (model.dataTable.Rows.Count > 0)
                    {
                        //UploadFile.SaveAs(path);
                        for (int i = 0; i < model.dataTable.Rows.Count; i++)
                        {
                            try
                            {
                                List <string> sub = new List <string>();
                                sub = dbcontext.M_Subscribers.Where(l => l.ListID == model.ListID).Select(m => m.EmailAddress).ToList();
                                bool ispresent = false;
                                try
                                {
                                    ispresent = sub.Any(s => s == model.dataTable.Rows[i]["EmailAddress"].ToString());
                                }
                                catch (ArgumentException ex)
                                {
                                    //ModelState.AddModelError("Fileerr", "Please see sample file format");
                                    //return View();
                                }
                                if (ispresent == false)
                                {
                                    ListSusbscriber lSub = new ListSusbscriber();
                                    lSub.ListID = model.ListID;
                                    using (var trans = dbcontext.Database.BeginTransaction())
                                    {
                                        // ObjectParameter objParam = new ObjectParameter("ID", typeof(int));
                                        try
                                        {
                                            subscriber.ListID                = Convert.ToInt32(model.ListID);
                                            subscriber.FirstName             = model.dataTable.Rows[i]["FirstName"].ToString();
                                            subscriber.LastName              = model.dataTable.Rows[i]["LastName"].ToString();
                                            subscriber.EmailAddress          = model.dataTable.Rows[i]["EmailAddress"].ToString();
                                            subscriber.AlternateEmailAddress = model.dataTable.Rows[i]["AlternateEmailAddress"].ToString();
                                            subscriber.Address               = model.dataTable.Rows[i]["Address"].ToString();
                                            subscriber.Country               = model.dataTable.Rows[i]["Country"].ToString();
                                            subscriber.City      = model.dataTable.Rows[i]["City"].ToString();
                                            subscriber.AddedDate = DateTime.Now;
                                            // subscriber.StatusID = 3;
                                            dbcontext.M_Subscribers.Add(subscriber);
                                            dbcontext.SaveChanges();
                                            //dbcontext.ImportSubscribers(Convert.ToInt32(model.ListID), model.dataTable.Rows[i]["FirstName"].ToString(),
                                            //      model.dataTable.Rows[i]["LastName"].ToString(), model.dataTable.Rows[i]["EmailAddress"].ToString(), model.dataTable.Rows[i]["AlternateEmailAddress"].ToString(),
                                            //      model.dataTable.Rows[i]["Address"].ToString(), model.dataTable.Rows[i]["Country"].ToString(), model.dataTable.Rows[i]["City"].ToString(),
                                            //      DateTime.Now.ToString(), objParam);

                                            //lSub.SubscribersID = Convert.ToInt32(objParam.Value);
                                            // lSub.SubscribersID = (int?)((SqlParameter)param[9]).Value;
                                            lSub.SubscribersID = subscriber.SubscriberID;
                                            dbcontext.ListSusbscribers.Add(lSub);
                                            dbcontext.SaveChanges();
                                            trans.Commit();
                                        }
                                        catch (SqlException)
                                        {
                                            trans.Rollback();
                                        }
                                        catch (Exception ex)
                                        {
                                            obj = new M_CustomException((int)ErorrTypes.others, ex.Message, ex.StackTrace, ErorrTypes.others.ToString(), Utlities.GetURL());
                                            obj.LogException();
                                            throw obj;
                                        }
                                    }
                                }
                                else
                                {
                                    //   ModelState.AddModelError("present", "Some subscribers already present");
                                }
                            }
                            catch (ArgumentException ex)
                            {
                                //ModelState.AddModelError("Fileerr", "Please see sample file format");
                                //return View();
                            }
                            catch (Exception ex)
                            {
                                obj = new M_CustomException((int)ErorrTypes.others, ex.Message, ex.StackTrace, ErorrTypes.others.ToString(), Utlities.GetURL());
                                obj.LogException();
                                throw obj;
                            }
                        }
                    }
                }
            }
        }