コード例 #1
0
 public ActionResult Register(User model)
 {
     if (ModelState.IsValid)
     {
         using (BSDBContext db = new BSDBContext())
         {
             var user = db.Users.FirstOrDefault(p => p.Username == model.Username);
             if (user == null)
             {
                 model.UserRoleID  = 1;
                 model.isActivated = true;
                 model.Password    = CommonConstant.Encrypt(model.Password);
                 db.Users.Add(model);
                 db.SaveChanges();
             }
             else
             {
                 ViewBag.Message = "Tài khoản " + model.Username + " đã tồn tại";
                 return(View());
             }
         }
         ModelState.Clear();
         ViewBag.Message = "Đăng ký thành công cho tài khoản " + model.Username;
     }
     return(RedirectToAction("Login"));
 }
コード例 #2
0
 public ActionResult Login(User ac)
 {
     ac.Password = CommonConstant.Encrypt(ac.Password);
     using (BSDBContext db = new BSDBContext())
     {
         var result = db.Users.Where(p => p.Username == ac.Username && p.Password == ac.Password).Count();
         if (result == 0)
         {
             ModelState.AddModelError("", "Tài khoản không tồn tại hoặc Tên đăng nhập, mật khấu bị sai.");
         }
         else
         {
             var userID  = db.Users.Where(a => a.Username == ac.Username).FirstOrDefault().UserID;
             var name    = db.Users.Where(a => a.Username == ac.Username && a.Password == ac.Password).FirstOrDefault().Username;
             var blockID = db.Users.Where(a => a.Username == ac.Username).FirstOrDefault().isActivated;
             var roleID  = db.Users.Where(a => a.Username == ac.Username).FirstOrDefault().UserRoleID;
             Session["userHello"] = name;
             Session["userName"]  = ac.Username;
             Session["UserID"]    = userID;
             Session["blockID"]   = blockID;
             Session["roleID"]    = roleID;
             return(Redirect(Request.Url != null ? Request.Url.ToString() : Url.Action("Index")));
         }
     }
     return(View());
 }
コード例 #3
0
        // GET: Author
        /// <summary>
        /// lay thong tin tac gia
        /// </summary>
        /// <param name="bookID"></param>
        /// <returns></returns>
        public PartialViewResult returnAuthor(int bookID)
        {
            db = new BSDBContext();
            var author = db.Books.Find(bookID).Authors.ToList();

            return(PartialView(author));
        }
コード例 #4
0
 public ActionResult Register(User account)
 {
     if (account.Username == null || account.Password == null)
     {
         return(View());
     }
     if (ModelState.IsValid)
     {
         using (BSDBContext db = new BSDBContext())
         {
             var user = db.Users.FirstOrDefault(p => p.Username == account.Username);
             if (user == null)
             {
                 account.Password = HashPassword.getHash(account.Password);
                 db.Users.Add(account);
                 db.SaveChanges();
             }
             else
             {
                 ViewBag.Message = "UserName already exists" + account.Username;
                 return(View());
             }
         }
         ModelState.Clear();
         ViewBag.Message = "Successfully Registered Mr. " + account.Username;
     }
     return(RedirectToAction("Index"));
 }
コード例 #5
0
        /// <summary>
        /// Chuyển trạng thái đơn hàng đã thanh toán
        /// Trừ số lượng sách KDH vừa mua
        /// </summary>
        /// <param name="orderID"></param>
        public void ConvertPaidToTrue(int orderID)
        {
            BSDBContext db    = new BSDBContext();
            var         model = db.OrdersBooks.Find(orderID);

            model.Paid = true;
            db.SaveChanges();
            var detail = db.OrdersDetails.Where(x => x.OrderID == orderID).ToList();

            foreach (var item in detail)
            {
                var book = db.Books.Find(item.BookID);
                int temp = book.TotalQuantity - item.Quantity.GetValueOrDefault();
                if (temp <= 0)
                {
                    book.TotalQuantity = 0;
                    db.SaveChanges();
                }
                else
                {
                    book.TotalQuantity = temp;
                    db.SaveChanges();
                }
            }
        }
コード例 #6
0
 public ActionResult Register(User account)
 {
     if (account.Username == null || account.Password == null)
     {
         return(View());
     }
     if (ModelState.IsValid)
     {
         using (BSDBContext db = new BSDBContext())
         {
             var user = db.Users.FirstOrDefault(p => p.Username == account.Username);
             if (user == null)
             {
                 account.UserRoleID  = 2;
                 account.isActivated = true;
                 account.Password    = CommonConstant.Encrypt(account.Password);
                 account.Birthday    = DateTime.Now;
                 db.Users.Add(account);
                 db.SaveChanges();
             }
             else
             {
                 ViewBag.Message = "UserName already exists" + account.Username;
                 return(View());
             }
         }
         ModelState.Clear();
         ViewBag.Message = "Successfully Registered Mr. " + account.Username;
     }
     return(RedirectToAction("Index"));
 }
コード例 #7
0
        /// <summary>
        /// Action Update Order Cart sẽ tiến hành Update giỏ hàng được gọi lên từ cartController
        /// </summary>
        /// <param name="cartModel">List Book cần Update</param>
        /// <returns></returns>
        public JsonResult Update(string cartModel)
        {
            BSDBContext db = new BSDBContext();

            var jsonCart    = new JavaScriptSerializer().Deserialize <List <CartItem> >(cartModel);
            var sessionCart = (List <CartItem>)Session[CommonConstant.cartSession];

            if (jsonCart.Sum(p => p.Quantity) > 10)
            {
                return(Json(new
                {
                    status = false,
                    ErrorMessage = "Tổng số lượng không thể quá 10 sách"
                }));
            }
            foreach (var item in sessionCart)
            {
                Book book     = db.Books.Find(item.Books.BookID);
                var  jsonItem = jsonCart.SingleOrDefault(x => x.Books.BookID == item.Books.BookID);
                if (jsonItem != null)
                {
                    if (jsonItem.Quantity <= book.TotalQuantity)
                    {
                        item.Quantity = jsonItem.Quantity;
                    }
                }
            }

            Session[CommonConstant.cartSession] = sessionCart;
            return(Json(new {
                status = true
            }));
        }
コード例 #8
0
        public JsonResult LoginAjax(string user_name, string pass)
        {
            pass = CommonConstant.Encrypt(pass);
            using (BSDBContext db = new BSDBContext())
            {
                var result = db.Users.Where(p => p.Username == user_name && p.Password == pass).Count();
                if (result == 0)
                {
                    object jsondata = new LoginClass
                    {
                        SessionRole     = null,
                        SessionUsername = null
                    };
                    return(Json(jsondata, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    var roleID = db.Users.Where(a => a.Username == user_name).FirstOrDefault().UserRoleID;
                    if (roleID == 1)
                    {
                        object jsondata = new LoginClass
                        {
                            SessionRole     = null,
                            SessionUsername = null
                        };
                        return(Json(jsondata, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        var userID  = db.Users.Where(a => a.Username == user_name).FirstOrDefault().UserID;
                        var name    = db.Users.Where(a => a.Username == user_name && a.Password == pass).FirstOrDefault().Username;
                        var blockID = db.Users.Where(a => a.Username == user_name).FirstOrDefault().isActivated;
                        Session["userHello"] = name;
                        Session["userName"]  = user_name;
                        Session["UserID"]    = userID;
                        Session["blockID"]   = blockID;
                        Session["roleID"]    = roleID;

                        object jsondata = new LoginClass
                        {
                            SessionRole     = Session["roleID"].ToString(),
                            SessionBlockID  = Convert.ToBoolean(Session["blockID"]),
                            SessionUsername = Session["userName"].ToString()
                        };
                        return(Json(jsondata, JsonRequestBehavior.AllowGet));
                    }
                }
            }
        }
コード例 #9
0
        public async Task <ActionResult> PaypalConfirmed()
        {
            try
            {
                BSDBContext db    = new BSDBContext();
                var         model = (CommonConstant.InforPaypal)TempData["InforOrder"];
                int         Id    = model.OrderId;
                OrdersBook  Order = db.OrdersBooks.Find(Id);
                Order.Paid            = true; // Đã thanh toán
                db.Entry(Order).State = System.Data.Entity.EntityState.Modified;
                await db.SaveChangesAsync();

                var orderBook = new OrderBookDAO().Get(Id);
                historyBankCharging history = new historyBankCharging()
                {
                    email            = orderBook.Email,
                    phone            = orderBook.Phone,
                    fullname         = orderBook.FullName,
                    date_trans       = DateTime.Now,
                    price            = (int)model.Total,
                    order_code       = null,
                    error_text       = null,
                    transaction_info = null,
                    payment_id       = null,
                    payment_type     = "Paypal",
                    secure_code      = null
                };
                db.historyBankChargings.Add(history);
                await db.SaveChangesAsync();

                // giam so luong ton cua cac sách khách đã thanh toán
                foreach (OrdersDetail ordersDetail in Order.OrdersDetails)
                {
                    Book book = db.Books.Find(ordersDetail.BookID);
                    book.TotalQuantity  -= (ordersDetail.Quantity ?? 0); // giảm
                    db.Entry(book).State = System.Data.Entity.EntityState.Modified;
                    await db.SaveChangesAsync();
                }

                Session[CommonConstant.cartSession] = null;
                return(Redirect("/hoan-thanh"));
            }
            catch (Exception ex)
            {
                return(View("ThongBaoLoi"));
            }
        }
コード例 #10
0
        // ok roi.
        public async Task <ActionResult> PaymentConfirmed(string transaction_info, string order_code, int price, string payment_id, string payment_type, string error_text, string secure_code)
        {
            BSDBContext db = new BSDBContext();

            if (error_text == "")
            {
                int        Id    = int.Parse(order_code);
                OrdersBook Order = db.OrdersBooks.Find(Id);
                Order.Paid            = true; // Đã thanh toán
                db.Entry(Order).State = System.Data.Entity.EntityState.Modified;
                await db.SaveChangesAsync();

                var orderBook = new OrderBookDAO().Get(Id);
                historyBankCharging history = new historyBankCharging()
                {
                    email            = orderBook.Email,
                    phone            = orderBook.Phone,
                    fullname         = orderBook.FullName,
                    date_trans       = DateTime.Now,
                    price            = price,
                    order_code       = order_code,
                    error_text       = error_text,
                    transaction_info = transaction_info,
                    payment_id       = payment_id,
                    payment_type     = payment_type,
                    secure_code      = secure_code
                };
                db.historyBankChargings.Add(history);
                await db.SaveChangesAsync();

                // giam so luong ton cua cac sách khách đã thanh toán
                foreach (OrdersDetail ordersDetail in Order.OrdersDetails)
                {
                    Book book = db.Books.Find(ordersDetail.BookID);
                    book.TotalQuantity  -= (ordersDetail.Quantity ?? 0); // giảm
                    db.Entry(book).State = System.Data.Entity.EntityState.Modified;
                    await db.SaveChangesAsync();
                }

                Session[CommonConstant.cartSession] = null;
                return(Redirect("/hoan-thanh"));
            }
            else
            {
                return(View("ThongBaoLoi"));
            }
        }
コード例 #11
0
 public CreateObjectItemCommandHandler(BSDBContext context)
 {
     _context = context;
 }
コード例 #12
0
 //contructor
 public OrderProcess()
 {
     db = new BSDBContext();
 }
コード例 #13
0
 //constructor :  khởi tạo đối tượng
 public BookProcess()
 {
     db = new BSDBContext();
 }
コード例 #14
0
 //constructor
 public AdminProcess()
 {
     db = new BSDBContext();
 }
コード例 #15
0
 //constructor :  khởi tạo đối tượng
 public HomeProcess()
 {
     db = new BSDBContext();
 }
コード例 #16
0
 public OderDetailProcess()
 {
     db = new BSDBContext();
 }
コード例 #17
0
 public CreateInterfaceCommandHandler(BSDBContext context)
 {
     _context = context;
 }
コード例 #18
0
 public GetBookQueryHandler(BSDBContext context)
 {
     _context = context;
 }
コード例 #19
0
 /// <summary>
 /// Contructor
 /// </summary>
 public UserProcess()
 {
     db = new BSDBContext();
 }