public async Task <IHttpActionResult> Put([FromODataUri] int key, Ecard update)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     if (key != update.EcardID)
     {
         return(BadRequest());
     }
     db.Entry(update).State = EntityState.Modified;
     try
     {
         await db.SaveChangesAsync();
     }
     catch (DbUpdateConcurrencyException)
     {
         if (!EcardExists(key))
         {
             return(NotFound());
         }
         else
         {
             throw;
         }
     }
     return(Updated(update));
 }
Example #2
0
        public IHttpActionResult PutEcard(int id, Ecard ecard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != ecard.EcardID)
            {
                return(BadRequest());
            }

            db.Entry(ecard).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EcardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #3
0
        public ActionResult Delete(int ItemID)
        {
            Ecard ecard = EcardBusiness.Find(ItemID);

            ecard.Draft = true;
            EcardBusiness.Update(ecard);
            EcardBusiness.Save();
            return(RedirectToAction("Index"));
        }
        public async Task <IHttpActionResult> Post(Ecard ecard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            db.Ecards.Add(ecard);
            await db.SaveChangesAsync();

            return(Created(ecard));
        }
Example #5
0
        public IHttpActionResult GetEcard(int id)
        {
            Ecard ecard = db.Ecards.Find(id);

            if (ecard == null)
            {
                return(NotFound());
            }

            return(Ok(ecard));
        }
Example #6
0
        public IHttpActionResult PostEcard(Ecard ecard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Ecards.Add(ecard);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = ecard.EcardID }, ecard));
        }
Example #7
0
        public IHttpActionResult DeleteEcard(int id)
        {
            Ecard ecard = db.Ecards.Find(id);

            if (ecard == null)
            {
                return(NotFound());
            }

            db.Ecards.Remove(ecard);
            db.SaveChanges();

            return(Ok(ecard));
        }
Example #8
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(View(ViewNamesConstant.FrontendHomeError));
            }
            Ecard ecard = EcardBusiness.Find(id);

            if (ecard == null)
            {
                return(View(ViewNamesConstant.FrontendHomeError));
            }
            return(View(ViewNamesConstant.AdminEcardsDetails, ecard));
        }
Example #9
0
        // GET: Ecards/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ecard ecard = EcardBusiness.Find(id);

            if (ecard == null)
            {
                return(HttpNotFound());
            }
            return(View(ViewNamesConstant.AdminEcardsDetails, ecard));
        }
Example #10
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(View(ViewNamesConstant.FrontendHomeError));
            }
            Ecard ecard = EcardBusiness.Find(id);

            if (ecard == null)
            {
                return(View(ViewNamesConstant.FrontendHomeError));
            }
            ViewBag.Categories = CategoryBusiness.All.ToList();
            return(View(ViewNamesConstant.AdminEcardsEdit, ecard));
        }
Example #11
0
        // GET: Ecards/Details/5
        public ActionResult Details(string slug)
        {
            if (string.IsNullOrEmpty(slug))
            {
                return(View(ViewNamesConstant.FrontendHomeError));
            }
            Ecard ecard = EcardBusiness.All.Where(x => x.EcardSlug.Equals(slug)).FirstOrDefault();

            if (ecard == null)
            {
                return(View(ViewNamesConstant.FrontendHomeError));
            }
            ViewBag.topEcards = EcardBusiness.All.Where(x => x.Draft != true).OrderBy(x => x.Price).Take(12).ToList();
            return(View(ViewNamesConstant.FrontendEcardsDetails, ecard));
        }
Example #12
0
        // GET: Ecards/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ecard ecard = EcardBusiness.Find(id);

            if (ecard == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Categories = CategoryBusiness.All.ToList();
            return(View(ViewNamesConstant.AdminEcardsEdit, ecard));
        }
Example #13
0
        // GET: DummyData
        public ActionResult Index()
        {
            var faker = new Faker("en");

            using (var context = new EgreetingContext())
            {
                //20 category;
                var categories = new List <Category>();
                categories.Add(new Category {
                    CategoryID = 1, CategoryName = "Birthday", CategorySlug = "birthday"
                });
                categories.Add(new Category {
                    CategoryID = 2, CategoryName = "Wedding", CategorySlug = "wedding"
                });
                categories.Add(new Category {
                    CategoryID = 3, CategoryName = "New year", CategorySlug = "new-year"
                });
                categories.Add(new Category {
                    CategoryID = 4, CategoryName = "Festivals", CategorySlug = "festivals"
                });

                for (int i = 5; i < 20; i++)
                {
                    categories.Add(new Category
                    {
                        CategoryID   = i,
                        CategoryName = "Category " + i,
                        CategorySlug = "Category-" + i,
                        CreatedDate  = faker.Date.Past(),
                    });
                }
                context.Set <Category>().AddRange(categories);
                context.SaveChanges();
            }

            //3 role
            using (var context = new EgreetingContext())
            {
                var store   = new RoleStore <ApplicationRole>(context);
                var manager = new RoleManager <ApplicationRole>(store);
                var role    = new ApplicationRole
                {
                    Name          = "Admin",
                    EgreetingRole = new EgreetingRole
                    {
                        EgreetingRoleID   = 1,
                        EgreetingRoleName = "Admin",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(role);
                role = new ApplicationRole
                {
                    Name          = "User",
                    EgreetingRole = new EgreetingRole
                    {
                        EgreetingRoleID   = 2,
                        EgreetingRoleName = "User",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(role);
                role = new ApplicationRole
                {
                    Name          = "Subcriber",
                    EgreetingRole = new EgreetingRole
                    {
                        EgreetingRoleID   = 3,
                        EgreetingRoleName = "Subcriber",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(role);
            }

            //20 user
            using (var context = new EgreetingContext())
            {
                var image   = System.IO.File.ReadAllBytes(Server.MapPath("~/Content/Admin/dist/img/avatar.png"));
                var store   = new UserStore <ApplicationUser>(context);
                var manager = new UserManager <ApplicationUser>(store);

                var user = new ApplicationUser
                {
                    UserName      = "******",
                    Email         = "*****@*****.**",
                    EgreetingUser = new EgreetingUser
                    {
                        EgreetingUserID   = 1,
                        Email             = "*****@*****.**",
                        FirstName         = "Tien Thinh",
                        LastName          = "Nguyen",
                        Avatar            = image,
                        EgreetingUserSlug = generateSlug(),
                        BirthDay          = DateTime.Now,
                        PaymentDueDate    = DateTime.Now,
                        CreditCardNumber  = "123456789012",
                        CreditCardCVG     = "123",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(user, "123456aA@");
                manager.AddToRole(user.Id, "Admin");

                user = new ApplicationUser
                {
                    UserName      = "******",
                    Email         = "*****@*****.**",
                    EgreetingUser = new EgreetingUser
                    {
                        EgreetingUserID   = 2,
                        Email             = "*****@*****.**",
                        FirstName         = "Tien Thinh",
                        LastName          = "Nguyen",
                        Avatar            = image,
                        EgreetingUserSlug = generateSlug(),
                        BirthDay          = DateTime.Now,
                        PaymentDueDate    = DateTime.Now,
                        CreditCardNumber  = "123456789012",
                        CreditCardCVG     = "123",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(user, "123456aA@");
                manager.AddToRole(user.Id, "Admin");

                user = new ApplicationUser
                {
                    UserName      = "******",
                    Email         = "*****@*****.**",
                    EgreetingUser = new EgreetingUser
                    {
                        EgreetingUserID   = 3,
                        Email             = "*****@*****.**",
                        FirstName         = "Tien Thinh",
                        LastName          = "Nguyen",
                        Avatar            = image,
                        EgreetingUserSlug = generateSlug(),
                        BirthDay          = DateTime.Now,
                        PaymentDueDate    = DateTime.Now,
                        CreditCardNumber  = "123456789012",
                        CreditCardCVG     = "123",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(user, "123456aA@");
                manager.AddToRole(user.Id, "User");

                user = new ApplicationUser
                {
                    UserName      = "******",
                    Email         = "*****@*****.**",
                    EgreetingUser = new EgreetingUser
                    {
                        EgreetingUserID   = 4,
                        Email             = "*****@*****.**",
                        FirstName         = "Tien Thinh",
                        LastName          = "Nguyen",
                        Avatar            = image,
                        EgreetingUserSlug = generateSlug(),
                        BirthDay          = DateTime.Now,
                        PaymentDueDate    = DateTime.Now,
                        CreditCardNumber  = "123456789012",
                        CreditCardCVG     = "123",
                        CreatedDate       = faker.Date.Past(),
                    }
                };
                manager.Create(user, "123456aA@");
                manager.AddToRole(user.Id, "Subcriber");

                for (int i = 5; i <= 20; i++)
                {
                    user = new ApplicationUser
                    {
                        UserName      = "******" + i + "@gmail.com",
                        Email         = "subcriber" + i + "@gmail.com",
                        EgreetingUser = new EgreetingUser
                        {
                            EgreetingUserID   = 4,
                            Email             = "subcriber" + i + "@gmail.com",
                            FirstName         = "Tien Thinh " + i,
                            LastName          = "Nguyen",
                            Avatar            = image,
                            EgreetingUserSlug = generateSlug(),
                            BirthDay          = DateTime.Now,
                            PaymentDueDate    = DateTime.Now,
                            CreditCardNumber  = "123456789012",
                            CreditCardCVG     = "123",
                            CreatedDate       = faker.Date.Past(),
                        }
                    };
                    manager.Create(user, "123456aA@");
                    manager.AddToRole(user.Id, "Subcriber");
                }
            }


            // 100 Ecard
            using (var context = new EgreetingContext())
            {
                var ecards = new List <Ecard>();
                for (int i = 1; i <= 10; i++)
                {
                    var categoriesID = new List <int> {
                        faker.Random.Number(1, 20), faker.Random.Number(1, 20)
                    };
                    var ecard = new Ecard {
                        EcardID       = i,
                        EcardName     = faker.Commerce.ProductName(),
                        EcardSlug     = faker.Lorem.Slug() + i,
                        EcardType     = 4,
                        EcardUrl      = "Ecard_" + faker.Random.Number(1, 10) + ".mp4",
                        ThumbnailUrl  = "Thumbnail_" + faker.Random.Number(24, 39) + ".png",
                        Price         = faker.Random.Double() * 100,
                        Categories    = context.Set <Category>().Where(x => categoriesID.Contains(x.CategoryID)).ToList(),
                        EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == 1).FirstOrDefault(),
                        CreatedDate   = faker.Date.Past(),
                    };
                    ecards.Add(ecard);
                }
                for (int i = 11; i <= 30; i++)
                {
                    var categoriesID = new List <int> {
                        faker.Random.Number(1, 20), faker.Random.Number(1, 20)
                    };
                    var ecard = new Ecard
                    {
                        EcardID       = i,
                        EcardName     = faker.Commerce.ProductName(),
                        EcardSlug     = faker.Lorem.Slug() + i,
                        EcardType     = 2,
                        EcardUrl      = "Ecard_" + faker.Random.Number(11, 23) + ".gif",
                        ThumbnailUrl  = "Thumbnail_" + faker.Random.Number(24, 39) + ".png",
                        Price         = faker.Random.Double() * 100,
                        Categories    = context.Set <Category>().Where(x => categoriesID.Contains(x.CategoryID)).ToList(),
                        EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == 1).FirstOrDefault(),
                        CreatedDate   = faker.Date.Past(),
                    };
                    ecards.Add(ecard);
                }
                for (int i = 31; i <= 100; i++)
                {
                    var categoriesID = new List <int> {
                        faker.Random.Number(1, 20), faker.Random.Number(1, 20)
                    };
                    var ecard = new Ecard
                    {
                        EcardID       = i,
                        EcardName     = faker.Commerce.ProductName(),
                        EcardSlug     = faker.Lorem.Slug() + i,
                        EcardType     = 1,
                        EcardUrl      = "Ecard_" + faker.Random.Number(24, 39) + ".png",
                        ThumbnailUrl  = "Thumbnail_" + faker.Random.Number(24, 39) + ".png",
                        Price         = faker.Random.Double() * 100,
                        Categories    = context.Set <Category>().Where(x => categoriesID.Contains(x.CategoryID)).ToList(),
                        EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == 1).FirstOrDefault(),
                        CreatedDate   = faker.Date.Past(),
                    };
                    ecards.Add(ecard);
                }
                context.Set <Ecard>().AddRange(ecards);
                context.SaveChanges();
            }

            // 500 Feedback
            using (var context = new EgreetingContext())
            {
                var feedbacks = new List <Feedback>();
                for (int i = 1; i <= 500; i++)
                {
                    var ecardID  = faker.Random.Number(1, 100);
                    var userID   = faker.Random.Number(1, 4);
                    var feedback = new Feedback
                    {
                        FeedbackID    = i,
                        Subject       = faker.Lorem.Sentence(10),
                        Message       = faker.Lorem.Sentences(4),
                        Ecard         = context.Set <Ecard>().Where(x => x.EcardID == ecardID).FirstOrDefault(),
                        EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == userID).FirstOrDefault(),
                        CreatedDate   = faker.Date.Past(),
                    };
                    feedbacks.Add(feedback);
                }
                context.Set <Feedback>().AddRange(feedbacks);
                context.SaveChanges();
            }

            // 16 subcrieber
            using (var context = new EgreetingContext())
            {
                var subcribers = new List <Subcriber>();
                for (int i = 5; i <= 20; i++)
                {
                    var subcriber = new Subcriber
                    {
                        SubcriberID   = i,
                        Email         = "subcriber" + i + "@gmail.com",
                        EgreetingUser = context.Set <EgreetingUser>().Find(i),
                        CreatedDate   = faker.Date.Past(),
                    };
                    subcribers.Add(subcriber);
                }
                context.Set <Subcriber>().AddRange(subcribers);
                context.SaveChanges();
            }

            // 100 Payment
            using (var context = new EgreetingContext())
            {
                var payments = new List <Payment>();
                for (int i = 1; i <= 100; i++)
                {
                    var userID  = faker.Random.Number(5, 20);
                    var payment = new Payment
                    {
                        PaymentID     = i,
                        Month         = i % 12 == 0 ? 1 : i % 12,
                        Year          = faker.Random.Number(2000, 2019),
                        PaymentStatus = faker.Random.Bool(),
                        EgreetingUser = context.Set <EgreetingUser>().Find(userID),
                        CreatedDate   = faker.Date.Past(),
                    };
                    payments.Add(payment);
                }
                context.Set <Payment>().AddRange(payments);
                context.SaveChanges();
            }

            //200 Order
            using (var context = new EgreetingContext())
            {
                var orders = new List <Order>();
                for (int i = 1; i <= 200; i++)
                {
                    var ecardIDs = new List <int>()
                    {
                        faker.Random.Number(1, 100), faker.Random.Number(1, 100), faker.Random.Number(1, 100)
                    };
                    var orderDetails   = new List <OrderDetail>();
                    var sendStatusOder = true;
                    foreach (var item in ecardIDs)
                    {
                        bool sendStatus  = faker.Random.Bool();
                        var  orderDetail = new OrderDetail
                        {
                            SendStatus  = sendStatus,
                            Ecard       = context.Set <Ecard>().Find(item),
                            CreatedDate = faker.Date.Past(),
                        };
                        if (sendStatus)
                        {
                            orderDetail.SendTime = faker.Date.Soon();
                        }
                        orderDetails.Add(orderDetail);
                        sendStatusOder = sendStatusOder && sendStatus;
                    }
                    var userID = faker.Random.Number(5, 20);

                    var order = new Order
                    {
                        OrderID        = i,
                        SenderName     = faker.Lorem.Sentence(3),
                        RecipientEmail = "*****@*****.**",
                        SendSubject    = faker.Lorem.Sentence(4),
                        SendMessage    = faker.Lorem.Sentences(4),
                        ScheduleTime   = faker.Date.Past(),
                        SendStatus     = sendStatusOder,
                        TotalPrice     = faker.Random.Double(),
                        User           = context.Set <EgreetingUser>().Find(userID),
                        OrderDetails   = orderDetails,
                        CreatedDate    = faker.Date.Past(),
                    };
                    orders.Add(order);
                }
                context.Set <Order>().AddRange(orders);
                context.SaveChanges();
            }
            return(View());
        }
Example #14
0
        public ActionResult Edit([Bind(Include = "EcardID,EcardName,EcardSlug,EcardType,Price")] Ecard ecard)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var ecardUpdate = context.Set <Ecard>().Find(ecard.EcardID);

                    var    thumbnailFile  = Request.Files["Thumbnail"];
                    var    ecardFile      = Request.Files["EcardFile"];
                    string pathThumbnail  = Server.MapPath("~/Uploads/Thumbnails/");
                    string pathEcardFiles = Server.MapPath("~/Uploads/EcardFiles/");
                    if (!Directory.Exists(pathEcardFiles))
                    {
                        Directory.CreateDirectory(pathEcardFiles);
                        if (!Directory.Exists(pathThumbnail))
                        {
                            Directory.CreateDirectory(pathThumbnail);
                        }
                    }

                    if (ecardFile != null)
                    {
                        if (!Path.GetExtension(ecardFile.FileName).CheckExtentionFile(ecard.EcardType))
                        {
                            ModelState.AddModelError(string.Empty, "File upload not support!");
                            ViewBag.Categories = CategoryBusiness.All.ToList();
                            return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
                        }
                        ecard.EcardUrl = "EcardUrl_" + DateTime.Now.ToFileTime() + Path.GetExtension(ecardFile.FileName);
                        ecardFile.SaveAs(pathEcardFiles + ecard.EcardUrl);

                        if (thumbnailFile != null && Path.GetExtension(thumbnailFile.FileName).CheckExtentionFile())
                        {
                            ecard.ThumbnailUrl = "Thumbnail_" + DateTime.Now.ToFileTime() + Path.GetExtension(thumbnailFile.FileName);
                            thumbnailFile.SaveAs(pathThumbnail + ecard.ThumbnailUrl);
                        }
                        else
                        {
                            ecard.ThumbnailUrl = "thumbnail.png";
                        }
                    }

                    ecardUpdate.EcardName = ecard.EcardName;
                    if (!string.IsNullOrEmpty(ecard.EcardSlug))
                    {
                        if (!context.Set <Ecard>().Any(x => ecard.EcardSlug.Equals(x.EcardSlug)))
                        {
                            ecardUpdate.EcardSlug = ecard.EcardSlug;
                        }
                        else
                        {
                            ecardUpdate.EcardSlug = ecard.EcardSlug + DateTime.Now.ToFileTime();
                        }
                    }
                    ecardUpdate.EcardType    = ecard.EcardType;
                    ecardUpdate.Price        = ecard.Price;
                    ecardUpdate.ModifiedDate = DateTime.Now;

                    context.Set <Ecard>().Attach(ecardUpdate);
                    context.Entry(ecardUpdate).State = EntityState.Modified;
                    context.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            ViewBag.Categories = CategoryBusiness.All.ToList();
            return(View(ViewNamesConstant.AdminEcardsEdit, ecard));
        }
Example #15
0
        public ActionResult Edit(Ecard ecard)
        {
            if (ModelState.IsValid)
            {
                using (var context = new DesignTimeDbContextFactory().CreateDbContext(null))
                {
                    var ecardUpdate = context.Set <Ecard>().Find(ecard.EcardID);

                    var    thumbnailFile  = Request.Form.Files["Thumbnail"];
                    var    ecardFile      = Request.Form.Files["EcardFile"];
                    string pathThumbnail  = $"{_webHostEnvironment.WebRootPath}Uploads/Thumbnails/";
                    string pathEcardFiles = $"{_webHostEnvironment.WebRootPath}Uploads/EcardFiles/";
                    if (!Directory.Exists(pathEcardFiles))
                    {
                        Directory.CreateDirectory(pathEcardFiles);
                        if (!Directory.Exists(pathThumbnail))
                        {
                            Directory.CreateDirectory(pathThumbnail);
                        }
                    }

                    if (ecardFile != null)
                    {
                        if (!Path.GetExtension(ecardFile.FileName).CheckExtentionFile(ecard.EcardType))
                        {
                            ModelState.AddModelError(string.Empty, "File upload not support!");
                            ViewBag.Categories = CategoryBusiness.All.ToList();
                            return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
                        }
                        ecard.EcardUrl = "EcardUrl_" + DateTime.Now.ToFileTime() + Path.GetExtension(ecardFile.FileName);
                        using (var fileStream = new FileStream(pathEcardFiles + ecard.EcardUrl, FileMode.Create))
                        {
                            ecardFile.CopyTo(fileStream);
                        }

                        if (thumbnailFile != null && Path.GetExtension(thumbnailFile.FileName).CheckExtentionFile())
                        {
                            ecard.ThumbnailUrl = "Thumbnail_" + DateTime.Now.ToFileTime() + Path.GetExtension(thumbnailFile.FileName);
                            using (var fileStream = new FileStream(pathThumbnail + ecard.ThumbnailUrl, FileMode.Create))
                            {
                                thumbnailFile.CopyTo(fileStream);
                            }
                        }
                        else
                        {
                            ecard.ThumbnailUrl = "thumbnail.png";
                        }
                    }

                    ecardUpdate.EcardName = ecard.EcardName;
                    if (!string.IsNullOrEmpty(ecard.EcardSlug))
                    {
                        if (!context.Set <Ecard>().Any(x => ecard.EcardSlug.Equals(x.EcardSlug)))
                        {
                            ecardUpdate.EcardSlug = ecard.EcardSlug;
                        }
                        else
                        {
                            ecardUpdate.EcardSlug = ecard.EcardSlug + DateTime.Now.ToFileTime();
                        }
                    }
                    ecardUpdate.EcardType    = ecard.EcardType;
                    ecardUpdate.Price        = ecard.Price;
                    ecardUpdate.ModifiedDate = DateTime.Now;

                    context.Set <Ecard>().Attach(ecardUpdate);
                    context.Entry(ecardUpdate).State = EntityState.Modified;
                    context.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            ViewBag.Categories = CategoryBusiness.All.ToList();
            return(View(ViewNamesConstant.AdminEcardsEdit, ecard));
        }
Example #16
0
        public ActionResult Create([Bind(Include = "EcardName,EcardSlug,EcardType,Price")] Ecard ecard, string ListCategoryString)
        {
            if (ModelState.IsValid)
            {
                var    thumbnailFile  = Request.Files["Thumbnail"];
                var    ecardFile      = Request.Files["EcardFile"];
                string pathThumbnail  = Server.MapPath("~/Uploads/Thumbnails/");
                string pathEcardFiles = Server.MapPath("~/Uploads/EcardFiles/");

                if (!Directory.Exists(pathEcardFiles))
                {
                    Directory.CreateDirectory(pathEcardFiles);
                    if (!Directory.Exists(pathThumbnail))
                    {
                        Directory.CreateDirectory(pathThumbnail);
                    }
                }


                if (ecardFile != null)
                {
                    if (!Path.GetExtension(ecardFile.FileName).CheckExtentionFile(ecard.EcardType))
                    {
                        ModelState.AddModelError(string.Empty, "File upload not support!");
                        ViewBag.Categories = CategoryBusiness.All.ToList();
                        return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
                    }
                    ecard.EcardUrl = "EcardUrl_" + DateTime.Now.ToFileTime() + Path.GetExtension(ecardFile.FileName);
                    ecardFile.SaveAs(pathEcardFiles + ecard.EcardUrl);

                    if (thumbnailFile != null && Path.GetExtension(thumbnailFile.FileName).CheckExtentionFile())
                    {
                        ecard.ThumbnailUrl = "Thumbnail_" + DateTime.Now.ToFileTime() + Path.GetExtension(thumbnailFile.FileName);
                        thumbnailFile.SaveAs(pathThumbnail + ecard.ThumbnailUrl);
                    }
                    else
                    {
                        ecard.ThumbnailUrl = "thumbnail.png";
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "There is no is ecard file found!");
                    ViewBag.Categories = CategoryBusiness.All.ToList();
                    return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
                }

                using (var context = new EgreetingContext())
                {
                    var lstCategoryID = ListCategoryString.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                    var lstCategory   = context.Set <Category>().Where(x => lstCategoryID.Contains(x.CategoryID)).ToList();
                    ecard.Categories = lstCategory;
                    if (context.Set <Ecard>().Any(x => ecard.EcardSlug.Equals(x.EcardSlug)))
                    {
                        ecard.EcardSlug = ecard.EcardSlug + DateTime.Now.ToFileTime();
                    }
                    var currentContext = System.Web.HttpContext.Current;
                    if (currentContext.User != null && Request.IsAuthenticated)
                    {
                        string email = "";
                        email = User.Identity.Name;
                        var user = context.Set <EgreetingUser>().Where(x => x.Email.Equals(email)).FirstOrDefault();
                        ecard.EgreetingUser = user;
                    }
                    ecard.CreatedDate = DateTime.Now;
                    context.Set <Ecard>().Add(ecard);
                    context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.Categories = CategoryBusiness.All.ToList();
            return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
        }
Example #17
0
        public ActionResult Create([Bind(Include = "ScheduleTime,ScheduleType,SenderName,RecipientEmail,SendSubject,SendMessage")] ScheduleSender ScheduleSender, int?EcardID, int?EgreetingUserID)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    // thinh: check user exist
                    var egreetingUser = new EgreetingUser();
                    if (EcardID != null)
                    {
                        egreetingUser = context.Set <EgreetingUser>().Find(EgreetingUserID);
                        if (egreetingUser == null)
                        {
                            ModelState.AddModelError(string.Empty, "User not found!");
                            ViewBag.Ecards         = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EcardID, x.EcardName }).ToDictionary(k => k.EcardID, v => v.EcardName);
                            ViewBag.EgreetingUsers = EgreetingUserBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EgreetingUserID, x.Email }).ToDictionary(k => k.EgreetingUserID, v => v.Email);
                            return(View(ViewNamesConstant.AdminScheduleSendersCreate, ScheduleSender));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Need at least one user!");
                        ViewBag.Ecards         = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EcardID, x.EcardName }).ToDictionary(k => k.EcardID, v => v.EcardName);
                        ViewBag.EgreetingUsers = EgreetingUserBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EgreetingUserID, x.Email }).ToDictionary(k => k.EgreetingUserID, v => v.Email);
                        return(View(ViewNamesConstant.AdminScheduleSendersCreate, ScheduleSender));
                    }

                    // thinh: check ecard exist
                    var ecard = new Ecard();
                    if (EcardID != null)
                    {
                        ecard = context.Set <Ecard>().Find(EcardID);
                        if (ecard == null)
                        {
                            ModelState.AddModelError(string.Empty, "Ecard not found!");
                            ViewBag.Ecards         = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EcardID, x.EcardName }).ToDictionary(k => k.EcardID, v => v.EcardName);
                            ViewBag.EgreetingUsers = EgreetingUserBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EgreetingUserID, x.Email }).ToDictionary(k => k.EgreetingUserID, v => v.Email);
                            return(View(ViewNamesConstant.AdminScheduleSendersCreate, ScheduleSender));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Need at least one ecard!");
                        ViewBag.Ecards         = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EcardID, x.EcardName }).ToDictionary(k => k.EcardID, v => v.EcardName);
                        ViewBag.EgreetingUsers = EgreetingUserBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EgreetingUserID, x.Email }).ToDictionary(k => k.EgreetingUserID, v => v.Email);
                        return(View(ViewNamesConstant.AdminScheduleSendersCreate, ScheduleSender));
                    }

                    // thinh: create schedule sender
                    ScheduleSender.Ecard         = ecard;
                    ScheduleSender.EgreetingUser = egreetingUser;
                    ScheduleSender.CreatedDate   = DateTime.Now;

                    context.Set <ScheduleSender>().Add(ScheduleSender);
                    context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.Ecards         = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EcardID, x.EcardName }).ToDictionary(k => k.EcardID, v => v.EcardName);
            ViewBag.EgreetingUsers = EgreetingUserBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EgreetingUserID, x.Email }).ToDictionary(k => k.EgreetingUserID, v => v.Email);
            return(View(ViewNamesConstant.AdminScheduleSendersCreate, ScheduleSender));
        }
Example #18
0
        public ActionResult Create(Ecard ecard, string ListCategoryString)
        {
            if (ModelState.IsValid)
            {
                var    thumbnailFile  = Request.Form.Files["Thumbnail"];
                var    ecardFile      = Request.Form.Files["EcardFile"];
                string pathThumbnail  = $"{_webHostEnvironment.WebRootPath}Uploads/Thumbnails/";
                string pathEcardFiles = $"{_webHostEnvironment.WebRootPath}Uploads/EcardFiles/";

                if (!Directory.Exists(pathEcardFiles))
                {
                    Directory.CreateDirectory(pathEcardFiles);
                    if (!Directory.Exists(pathThumbnail))
                    {
                        Directory.CreateDirectory(pathThumbnail);
                    }
                }


                if (ecardFile != null)
                {
                    if (!Path.GetExtension(ecardFile.FileName).CheckExtentionFile(ecard.EcardType))
                    {
                        ModelState.AddModelError(string.Empty, "File upload not support!");
                        ViewBag.Categories = CategoryBusiness.All.ToList();
                        return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
                    }
                    ecard.EcardUrl = "EcardUrl_" + DateTime.Now.ToFileTime() + Path.GetExtension(ecardFile.FileName);
                    using (var fileStream = new FileStream(pathEcardFiles + ecard.EcardUrl, FileMode.Create))
                    {
                        ecardFile.CopyTo(fileStream);
                    }

                    if (thumbnailFile != null && Path.GetExtension(thumbnailFile.FileName).CheckExtentionFile())
                    {
                        ecard.ThumbnailUrl = "Thumbnail_" + DateTime.Now.ToFileTime() + Path.GetExtension(thumbnailFile.FileName);
                        using (var fileStream = new FileStream(pathThumbnail + ecard.ThumbnailUrl, FileMode.Create))
                        {
                            thumbnailFile.CopyTo(fileStream);
                        }
                    }
                    else
                    {
                        ecard.ThumbnailUrl = "thumbnail.png";
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "There is no is ecard file found!");
                    ViewBag.Categories = CategoryBusiness.All.ToList();
                    return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
                }

                using (var context = new DesignTimeDbContextFactory().CreateDbContext(null))
                {
                    var lstCategoryID = ListCategoryString.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                    var lstCategory   = context.Set <Category>().Where(x => lstCategoryID.Contains(x.CategoryID)).Select(x => x.CategoryEcards).ToList();
                    ecard.CategoryEcards = (ICollection <CategoryEcard>)lstCategory;
                    if (context.Set <Ecard>().Any(x => ecard.EcardSlug.Equals(x.EcardSlug)))
                    {
                        ecard.EcardSlug = ecard.EcardSlug + DateTime.Now.ToFileTime();
                    }

                    if (HttpContext.User != null && User.Identity.IsAuthenticated)
                    {
                        string email = "";
                        email = User.Identity.Name;
                        var user = context.Set <EgreetingUser>().Where(x => x.Email.Equals(email)).FirstOrDefault();
                        ecard.EgreetingUser = user;
                    }
                    ecard.CreatedDate = DateTime.Now;
                    context.Set <Ecard>().Add(ecard);
                    context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.Categories = CategoryBusiness.All.ToList();
            return(View(ViewNamesConstant.AdminEcardsCreate, ecard));
        }