Ejemplo n.º 1
0
        public ActionResult Create([Bind(Include = "Subject,Message")] Feedback feedback, int?EcardID)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var user           = new EgreetingUser();
                    var currentContext = System.Web.HttpContext.Current;
                    if (currentContext.User != null)
                    {
                        string email = currentContext.User.Identity.Name;
                        user = context.Set <EgreetingUser>().Where(x => x.Email.Equals(email)).FirstOrDefault();
                    }
                    if (user != null)
                    {
                        feedback.EgreetingUser = user;
                    }

                    var ecard = context.Set <Ecard>().Find(EcardID);
                    if (ecard != null)
                    {
                        feedback.Ecard = ecard;
                    }

                    feedback.CreatedDate = DateTime.Now;
                    context.Set <Feedback>().Add(feedback);
                    context.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }

            return(View(ViewNamesConstant.AdminFeedbacksCreate, feedback));
        }
Ejemplo n.º 2
0
        public ActionResult Create([Bind(Include = "SenderName,RecipientEmail,SendSubject,SendMessage")] Order order, string listEcardIDstring)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var listEcardID      = listEcardIDstring.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                    var listOrderDetails = new List <OrderDetail>();
                    foreach (var ecardID in listEcardID)
                    {
                        var ecard        = context.Set <Ecard>().Find(ecardID);
                        var orderDetails = new OrderDetail
                        {
                            SendStatus  = false,
                            Ecard       = ecard,
                            CreatedDate = DateTime.Now,
                        };
                        listOrderDetails.Add(orderDetails);
                    }

                    order.OrderDetails = listOrderDetails;
                    order.SendStatus   = false;
                    order.TotalPrice   = listOrderDetails.Select(x => x.Ecard.Price).Sum();
                    order.CreatedDate  = DateTime.Now;
                    context.Set <Order>().Add(order);
                    context.SaveChanges();
                    return(Json(new { Code = "success", orderID = order.OrderID }));
                }
            }
            return(Json("fail"));
        }
Ejemplo n.º 3
0
        public ActionResult Edit([Bind(Include = "PaymentID,Month,Year,PaymentStatus")] Payment Payment, int?EgreetingUserID)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var paymentUpdate = context.Set <Payment>().Find(Payment.PaymentID);
                    if (EgreetingUserID != null && paymentUpdate.EgreetingUser.EgreetingUserID != EgreetingUserID)
                    {
                        var egreetingUser = context.Set <EgreetingUser>().Find(EgreetingUserID);

                        if (egreetingUser != null)
                        {
                            paymentUpdate.EgreetingUser = egreetingUser;
                        }
                    }
                    paymentUpdate.Month         = Payment.Month;
                    paymentUpdate.Year          = Payment.Year;
                    paymentUpdate.PaymentStatus = Payment.PaymentStatus;
                    paymentUpdate.ModifiedDate  = DateTime.Now;
                    context.Set <Payment>().Attach(paymentUpdate);
                    context.Entry(paymentUpdate).State = EntityState.Modified;
                    context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            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.AdminPaymentsEdit, Payment));
        }
Ejemplo n.º 4
0
        public ActionResult Create([Bind(Include = "SenderName,RecipientEmail,SendSubject,SendMessage,ScheduleTime")] Order Order, string ListEcardString)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var listEcardID      = ListEcardString.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                    var listOrderDetails = new List <OrderDetail>();
                    foreach (var ecardID in listEcardID)
                    {
                        var ecard        = context.Set <Ecard>().Find(ecardID);
                        var orderDetails = new OrderDetail
                        {
                            SendStatus  = false,
                            Ecard       = ecard,
                            CreatedDate = DateTime.Now,
                        };
                        listOrderDetails.Add(orderDetails);
                    }

                    Order.OrderDetails = listOrderDetails;
                    Order.SendStatus   = false;
                    Order.TotalPrice   = listOrderDetails.Select(x => x.Ecard.Price).Sum();
                    Order.CreatedDate  = DateTime.Now;
                    context.Set <Order>().Add(Order);
                    context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.Ecards = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).ToList();
            return(View(ViewNamesConstant.AdminOrdersCreate, Order));
        }
Ejemplo n.º 5
0
 public GenericBusiness(EgreetingContext context = null)
 {
     if (context == null)
     {
         context = new DesignTimeDbContextFactory().CreateDbContext(null);
     }
     context.ChangeTracker.AutoDetectChangesEnabled = false;
 }
Ejemplo n.º 6
0
 public async Task <ActionResult> Sendall()
 {
     using (var context = new EgreetingContext())
     {
         var ListItemID = context.Set <Order>().Where(x => x.ScheduleTime > DateTime.Now && x.Draft != null).Select(x => x.OrderID).ToList();
         Utils.Utils.SendMailAll(ListItemID);
     }
     return(Redirect(Request.UrlReferrer.ToString()));
 }
Ejemplo n.º 7
0
        public ActionResult CheckOut([Bind(Include = "SenderName,RecipientEmail,SendSubject,SendMessage")] Order order, string listEcardIDstring)
        {
            if (string.IsNullOrEmpty(order.RecipientEmail))
            {
                return(Json(new { Code = "fail", orderID = "" }));
            }
            if (ModelState.IsValid)
            {
                if (Request.IsAuthenticated)
                {
                    using (var context = new EgreetingContext())
                    {
                        string email        = User.Identity.Name;
                        var    userSend     = context.EgreetingUsers.Where(x => x.Email == email).FirstOrDefault();
                        bool   checkPayment = false;
                        if (userSend != null)
                        {
                            checkPayment = userSend.PaymentDueDate > DateTime.Now;
                        }

                        if (checkPayment)
                        {
                            var listEcardID      = listEcardIDstring.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                            var listOrderDetails = new List <OrderDetail>();
                            foreach (var ecardID in listEcardID)
                            {
                                var ecard        = context.Set <Ecard>().Find(ecardID);
                                var orderDetails = new OrderDetail
                                {
                                    SendStatus  = false,
                                    Ecard       = ecard,
                                    CreatedDate = DateTime.Now,
                                };
                                listOrderDetails.Add(orderDetails);
                            }

                            order.OrderDetails = listOrderDetails;
                            order.SendStatus   = false;
                            order.TotalPrice   = listOrderDetails.Select(x => x.Ecard.Price).Sum();
                            order.CreatedDate  = DateTime.Now;
                            context.Set <Order>().Add(order);
                            context.SaveChanges();
                            return(Json(new { Code = "success", orderID = order.OrderID }));
                        }
                        else
                        {
                            return(Json(new { Code = "subcriber", orderID = "" }));
                        }
                    }
                }
                else
                {
                    return(Json(new { Code = "forsending", orderID = "" }));
                }
            }
            return(Json(new { Code = "fail", orderID = "" }));
        }
Ejemplo n.º 8
0
 public GenericBusiness(ILog logger, EgreetingContext context = null)
 {
     if (context == null)
     {
         context = new EgreetingContext();
     }
     context.Configuration.AutoDetectChangesEnabled = false;
     context.Configuration.ValidateOnSaveEnabled    = false;
     this.logger = logger;
 }
Ejemplo n.º 9
0
        public ActionResult Edit([Bind(Include = "ScheduleSenderID,ScheduleTime,ScheduleType,SenderName,RecipientEmail,SendSubject,SendMessage")] ScheduleSender ScheduleSender, int?EcardID, int?EgreetingUserID)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var scheduleSenderUpdate = context.Set <ScheduleSender>().Find(ScheduleSender.ScheduleSenderID);
                    // thinh: check user exist
                    if (EcardID != null)
                    {
                        var 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));
                        }
                        scheduleSenderUpdate.EgreetingUser = egreetingUser;
                    }

                    // thinh: check ecard exist
                    if (EcardID != null)
                    {
                        var 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));
                        }
                        scheduleSenderUpdate.Ecard = ecard;
                    }

                    // thinh: create schedule sender
                    scheduleSenderUpdate.ScheduleTime   = ScheduleSender.ScheduleTime;
                    scheduleSenderUpdate.ScheduleType   = ScheduleSender.ScheduleType;
                    scheduleSenderUpdate.SenderName     = ScheduleSender.SenderName;
                    scheduleSenderUpdate.RecipientEmail = ScheduleSender.RecipientEmail;
                    scheduleSenderUpdate.SendSubject    = ScheduleSender.SendSubject;
                    scheduleSenderUpdate.SendMessage    = ScheduleSender.SendMessage;
                    scheduleSenderUpdate.ModifiedDate   = DateTime.Now;

                    context.Set <ScheduleSender>().Attach(scheduleSenderUpdate);
                    context.Entry(scheduleSenderUpdate).State = EntityState.Modified;
                    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.AdminScheduleSendersEdit, ScheduleSender));
        }
Ejemplo n.º 10
0
        public EgreetingRoleBusiness(ILog logger, EgreetingContext context = null)
            : base(logger)
        {
            if (context == null)
            {
                context = new EgreetingContext();
            }
            this.context = context;

            this.EgreetingRoleRepository = new EgreetingRoleRepository(context);
            repository = EgreetingRoleRepository;
        }
Ejemplo n.º 11
0
        public CategoryBusiness(EgreetingContext context = null)
            : base()
        {
            if (context == null)
            {
                context = new DesignTimeDbContextFactory().CreateDbContext(null);
            }
            this.context = context;

            this.CategoryRepository = new CategoryRepository(context);
            repository = CategoryRepository;
        }
Ejemplo n.º 12
0
        public CategoryBusiness(ILog logger, EgreetingContext context = null)
            : base(logger)
        {
            if (context == null)
            {
                context = new EgreetingContext();
            }
            this.context = context;

            this.CategoryRepository = new CategoryRepository(context);
            repository = CategoryRepository;
        }
Ejemplo n.º 13
0
        public OrderDetailBusiness(ILog logger, EgreetingContext context = null)
            : base(logger)
        {
            if (context == null)
            {
                context = new EgreetingContext();
            }
            this.context = context;

            this.OrderDetailRepository = new OrderDetailRepository(context);
            repository = OrderDetailRepository;
        }
Ejemplo n.º 14
0
        public FeedbackBusiness(ILog logger, EgreetingContext context = null)
            : base(logger)
        {
            if (context == null)
            {
                context = new EgreetingContext();
            }
            this.context = context;

            this.FeedbackRepository = new FeedbackRepository(context);
            repository = FeedbackRepository;
        }
Ejemplo n.º 15
0
        public OrderBusiness(EgreetingContext context = null)
            : base()
        {
            if (context == null)
            {
                context = new DesignTimeDbContextFactory().CreateDbContext(null);
            }
            this.context = context;

            this.OrderRepository = new OrderRepository(context);
            repository           = OrderRepository;
        }
Ejemplo n.º 16
0
        public SubcriberBusiness(ILog logger, EgreetingContext context = null)
            : base(logger)
        {
            if (context == null)
            {
                context = new EgreetingContext();
            }
            this.context = context;

            this.SubcriberRepository = new SubcriberRepository(context);
            repository = SubcriberRepository;
        }
Ejemplo n.º 17
0
        public FeedbackBusiness(EgreetingContext context = null)
            : base()
        {
            if (context == null)
            {
                context = new DesignTimeDbContextFactory().CreateDbContext(null);
            }
            this.context = context;

            this.FeedbackRepository = new FeedbackRepository(context);
            repository = FeedbackRepository;
        }
Ejemplo n.º 18
0
        public PaymentBusiness(ILog logger, EgreetingContext context = null)
            : base(logger)
        {
            if (context == null)
            {
                context = new EgreetingContext();
            }
            this.context = context;

            this.PaymentRepository = new PaymentRepository(context);
            repository             = PaymentRepository;
        }
Ejemplo n.º 19
0
        public PaymentBusiness(EgreetingContext context = null)
            : base()
        {
            if (context == null)
            {
                context = new DesignTimeDbContextFactory().CreateDbContext(null);
            }
            this.context = context;

            this.PaymentRepository = new PaymentRepository(context);
            repository             = PaymentRepository;
        }
        public EgreetingRoleBusiness(EgreetingContext context = null)
            : base()
        {
            if (context == null)
            {
                context = new DesignTimeDbContextFactory().CreateDbContext(null);
            }
            this.context = context;

            this.EgreetingRoleRepository = new EgreetingRoleRepository(context);
            repository = EgreetingRoleRepository;
        }
Ejemplo n.º 21
0
        public static int SendMailByOrderDetail(int?ItemID)
        {
            int id = 0;

            using (var context = new EgreetingContext())
            {
                var orderDetail = context.OrderDetails.Find(ItemID);
                id = orderDetail.OrderDetailID;

                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                Attachment data = new Attachment(HostingEnvironment.ApplicationPhysicalPath + "Uploads/EcardFiles/" + orderDetail.Ecard.EcardUrl);
                mail.Attachments.Add(data);


                mail.From = new MailAddress(WebConfigurationManager.AppSettings["EmailSender"]);
                mail.To.Add(orderDetail.Order.RecipientEmail);
                mail.Subject = orderDetail.Order.SendSubject + " - " + orderDetail.Order.SenderName;
                mail.Body    = orderDetail.Order.SendMessage;

                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential(WebConfigurationManager.AppSettings["EmailSender"], WebConfigurationManager.AppSettings["PasswordEmail"]);
                SmtpServer.EnableSsl   = true;

                try
                {
                    SmtpServer.Send(mail);
                    orderDetail.SendStatus = true;
                    orderDetail.SendTime   = DateTime.Now;
                    context.OrderDetails.Attach(orderDetail);
                    context.Entry(orderDetail).State = EntityState.Modified;
                    context.SaveChanges();
                    var order = context.Set <Order>().Find(orderDetail.Order.OrderID);
                    if (!order.OrderDetails.Any(x => !x.SendStatus))
                    {
                        order.SendStatus = true;
                    }
                    context.Orders.Attach(order);
                    context.Entry(order).State = EntityState.Modified;
                    context.SaveChanges();
                }
                catch (Exception)
                {
                }
            }
            using (var db = new EgreetingContext())
            {
                var abc = db.OrderDetails.Find(id);
            }
            return(1);
        }
Ejemplo n.º 22
0
        public ActionResult Index()
        {
            using (var context = new EgreetingContext())
            {
                var currentDate              = DateTime.Now;
                var nextmonthDate            = DateTime.Now.AddMonths(1);
                var listUserID               = context.Set <Subcriber>().Where(x => x.Draft != true).Select(x => x.EgreetingUser.EgreetingUserID).ToList();
                var listUserPaymentThisMonth = context.Set <Payment>()
                                               .Where(x => x.Draft != true &&
                                                      x.Month == currentDate.Month &&
                                                      x.Year == currentDate.Year)
                                               .Select(x => x.EgreetingUser.EgreetingUserID).ToList();
                var listUserPaymentNextMonth = context.Set <Payment>()
                                               .Where(x => x.Draft != true &&
                                                      x.Month == nextmonthDate.Month &&
                                                      x.Year == nextmonthDate.Year)
                                               .Select(x => x.EgreetingUser.EgreetingUserID).ToList();
                var listUserIDThisMonth = listUserID.Where(x => !listUserPaymentThisMonth.Contains(x)).ToList();
                var listUserIDNextMonth = listUserID.Where(x => !listUserPaymentNextMonth.Contains(x)).ToList();

                var payments = new List <Payment>();
                foreach (var itemID in listUserIDThisMonth)
                {
                    var payment = new Payment
                    {
                        Month         = currentDate.Month,
                        Year          = currentDate.Year,
                        PaymentStatus = false,
                        EgreetingUser = context.Set <EgreetingUser>().Find(itemID),
                        CreatedDate   = DateTime.Now,
                    };
                    payments.Add(payment);
                }
                foreach (var itemID in listUserIDNextMonth)
                {
                    var payment = new Payment
                    {
                        Month         = nextmonthDate.Month,
                        Year          = nextmonthDate.Year,
                        PaymentStatus = false,
                        EgreetingUser = context.Set <EgreetingUser>().Find(itemID),
                        CreatedDate   = DateTime.Now,
                    };
                    payments.Add(payment);
                }
                context.Set <Payment>().AddRange(payments);
                context.SaveChanges();
            }
            return(RedirectToAction("Index", "Payments"));
        }
        public ActionResult Edit([Bind(Include = "EgreetingUserSlug,FirstName,LastName,Email,Password,ConfirmPassword,BirthDay,CreditCardNumber,CreditCardCVG,PaymentDueDate")] EgreetingUser egreetingUser, string UserId, string ListRole)
        {
            var file = Request.Files["Avatar"];

            byte[] image = new byte[file.ContentLength];
            file.InputStream.Read(image, 0, image.Length);

            if (ModelState.IsValid)
            {
                var user = UserManager.FindById(UserId);
                user.EgreetingUser.EgreetingUserSlug = egreetingUser.EgreetingUserSlug;
                user.EgreetingUser.FirstName         = egreetingUser.FirstName;
                user.EgreetingUser.LastName          = egreetingUser.LastName;
                user.EgreetingUser.BirthDay          = egreetingUser.BirthDay;
                user.EgreetingUser.CreditCardNumber  = egreetingUser.CreditCardNumber;
                user.EgreetingUser.CreditCardCVG     = egreetingUser.CreditCardCVG;
                user.EgreetingUser.PaymentDueDate    = egreetingUser.PaymentDueDate;
                if (file.ContentLength > 0)
                {
                    user.EgreetingUser.Avatar = image;
                }
                if (!string.IsNullOrEmpty(egreetingUser.Password))
                {
                    UserManager.RemovePassword(user.Id);
                    UserManager.AddPassword(user.Id, egreetingUser.Password);
                    UserManager.Update(user);
                }
                else
                {
                    UserManager.Update(user);
                }
                using (var context = new EgreetingContext())
                {
                    var lstRoleId = ListRole.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                    var eUser     = context.Set <EgreetingUser>().Where(x => x.Email.Equals(user.Email)).FirstOrDefault();
                    eUser.EgreetingRoles = context.Set <EgreetingRole>().Where(x => lstRoleId.Contains(x.EgreetingRoleID)).ToList();
                    context.Set <EgreetingUser>().Attach(eUser);
                    context.Entry(eUser).State = EntityState.Modified;
                    context.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.ListRole = EgreetingRoleBusiness.All.Where(x => x.Draft != true).ToList();
            return(View(ViewNamesConstant.AdminEgreetingUsersEdit, egreetingUser));
        }
Ejemplo n.º 24
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                // thinh: create custom egreetinguser.
                var egreetingUser = new EgreetingUser();
                egreetingUser.CreatedDate = DateTime.Now;
                egreetingUser.LastName    = model.LastName;
                egreetingUser.FirstName   = model.FirstName;
                user.EgreetingUser        = egreetingUser;
                var result = await UserManager.CreateAsync(user, model.Password);

                using (var context = new EgreetingContext())
                {
                    var roleStore   = new RoleStore <IdentityRole>(context);
                    var roleManager = new RoleManager <IdentityRole>(roleStore);
                    var userStore   = new UserStore <ApplicationUser>(context);
                    var userManager = new UserManager <ApplicationUser>(userStore);
                    userManager.AddToRole(user.Id, "User");
                }
                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Ejemplo n.º 25
0
        public async Task <ActionResult> Create([Bind(Include = "Email")] Subcriber subcriber)
        {
            if (ModelState.IsValid)
            {
                var egreetingUser = new EgreetingUser
                {
                    CreatedDate = DateTime.Now,
                    Avatar      = System.IO.File.ReadAllBytes(Server.MapPath("~/Content/Admin/dist/img/avatar.png")),
                    Email       = subcriber.Email,
                };
                var applicationUser = new ApplicationUser {
                    Email = egreetingUser.Email, UserName = egreetingUser.Email, EgreetingUser = egreetingUser
                };
                var result = await UserManager.CreateAsync(applicationUser, "delete123456Aa");

                using (var context = new EgreetingContext())
                {
                    var roleStore   = new RoleStore <IdentityRole>(context);
                    var roleManager = new RoleManager <IdentityRole>(roleStore);
                    var userStore   = new UserStore <ApplicationUser>(context);
                    var userManager = new UserManager <ApplicationUser>(userStore);
                    userManager.AddToRole(applicationUser.Id, "Subcriber");
                }
                if (result.Succeeded)
                {
                    using (var context = new EgreetingContext())
                    {
                        var eUser = context.Set <EgreetingUser>().Where(x => x.Email.Equals(egreetingUser.Email)).FirstOrDefault();
                        eUser.EgreetingRoles    = context.Set <EgreetingRole>().Where(x => x.EgreetingRoleName.Equals("Subcriber")).ToList();
                        subcriber.EgreetingUser = eUser;
                        context.Set <Subcriber>().Attach(subcriber);
                        context.Entry(subcriber).State = EntityState.Modified;
                        context.SaveChanges();
                    }
                    return(RedirectToAction("Index"));
                }
                AddErrors(result);
            }
            return(View(ViewNamesConstant.AdminSubcribersCreate, subcriber));
        }
        public ActionResult Create([Bind(Include = "EgreetingUserSlug,FirstName,LastName,Email,Password,ConfirmPassword,BirthDay,CreditCardNumber,CreditCardCVG,PaymentDueDate")] EgreetingUser egreetingUser, string ListRole)
        {
            var file = Request.Files["Avatar"];

            byte[] image = new byte[file.ContentLength];
            file.InputStream.Read(image, 0, image.Length);

            if (file.ContentLength == 0)
            {
                image = System.IO.File.ReadAllBytes(Server.MapPath("~/Content/Admin/dist/img/avatar.png"));
            }

            if (ModelState.IsValid)
            {
                egreetingUser.CreatedDate = DateTime.Now;
                egreetingUser.Avatar      = image;
                //egreetingUser.EgreetingRoles = lstEgreetingRole;
                var applicationUser = new ApplicationUser {
                    Email = egreetingUser.Email, UserName = egreetingUser.Email, EgreetingUser = egreetingUser
                };
                var result = UserManager.Create(applicationUser, egreetingUser.Password);
                if (result.Succeeded)
                {
                    using (var context = new EgreetingContext())
                    {
                        var lstRoleId = ListRole.Split('-').Where(x => x.Length > 0).Select(x => Convert.ToInt32(x)).ToList();
                        var eUser     = context.Set <EgreetingUser>().Where(x => x.Email.Equals(egreetingUser.Email)).FirstOrDefault();
                        eUser.EgreetingRoles = context.Set <EgreetingRole>().Where(x => lstRoleId.Contains(x.EgreetingRoleID)).ToList();
                        context.Set <EgreetingUser>().Attach(eUser);
                        context.Entry(eUser).State = EntityState.Modified;
                        context.SaveChanges();
                    }
                    return(RedirectToAction("Index"));
                }
                AddErrors(result);
            }
            ViewBag.ListRole = EgreetingRoleBusiness.All.Where(x => x.Draft != true).ToList();
            return(View(ViewNamesConstant.AdminEgreetingUsersCreate, egreetingUser));
        }
            public SimpleMembershipInitializer()
            {
                try
                {
                    //Database.SetInitializer<EgreetingContext>(new MigrateDatabaseToLatestVersion<EgreetingContext, Egreeting.Models.Migrations.Configuration>());

                    using (var context = new EgreetingContext())
                    {
                        context.Database.Initialize(force: true);
                        if (!context.Database.Exists())
                        {
                            // Create the SimpleMembership database without Entity Framework migration schema
                            ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                        }
                    }

                    //WebSecurity.InitializeDatabaseConnection("EgreetingConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                }
            }
Ejemplo n.º 28
0
        public ActionResult Create([Bind(Include = "Month,Year,PaymentStatus")] Payment Payment, int?EgreetingUserID)
        {
            if (ModelState.IsValid)
            {
                using (var context = new EgreetingContext())
                {
                    var egreetingUser = context.Set <EgreetingUser>().Find(EgreetingUserID);
                    if (egreetingUser == null)
                    {
                        ViewBag.EgreetingUsers = EgreetingUserBusiness.AllNoTracking.Where(x => x.Draft != true).Select(x => new { x.EgreetingUserID, x.Email }).ToDictionary(k => k.EgreetingUserID, v => v.Email);
                        ModelState.AddModelError(string.Empty, "Need at least one email of user");
                        return(View(ViewNamesConstant.AdminPaymentsCreate, Payment));
                    }
                    Payment.EgreetingUser = egreetingUser;
                    Payment.CreatedDate   = DateTime.Now;
                    context.Set <Payment>().Add(Payment);
                    context.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            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.AdminPaymentsCreate, Payment));
        }
Ejemplo n.º 29
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));
        }
Ejemplo n.º 30
0
 public EgreetingRoleRepository(EgreetingContext context)
     : base(context)
 {
 }