示例#1
0
        public ActionResult Booking(long id)
        {
            try
            {
                HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
                ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
                if (login == null || login.ID == 0)
                {
                    return(Redirect("/dang-nhap.html"));
                }

                var result = _tourBusiness.GetDetail(id);
                var steps  = _stepBusiness.GetAll(id);
                ViewBag.StepsLst = steps;
                DateTime date = DateTime.Now;
                DateTime end  = new DateTime(Convert.ToInt32(result.EndDate.Split('/')[2]), Convert.ToInt32(result.EndDate.Split('/')[1]), Convert.ToInt32(result.EndDate.Split('/')[0]));
                if ((end - date).TotalDays >= 0)
                {
                    ViewBag.IsTrue = 1;
                }
                else
                {
                    ViewBag.IsTrue = 0;
                }
                return(View(result));
            }
            catch (Exception)
            {
                return(View());
            }
        }
示例#2
0
        public ActionResult MemberReceiptAdd(MemberReceiptInfoView model)
        {
            try
            {
                if (Request.Cookies["MemberLoginCookie"] == null)
                {
                    return(Redirect("/dang-nhap.html"));
                }

                HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
                ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
                model.Member = login.ID;

                if (_memberReceiptInfo.Add(model))
                {
                    _memberReceiptInfo.Save();
                    return(Redirect("/thong-tin-tai-khoan.html"));
                }
                return(View(model));
            }
            catch (Exception)
            {
                return(View(model));
            }
        }
示例#3
0
 public ActionResult ShoppingCart()
 {
     try
     {
         if (Request.Cookies["MemberLoginCookie"] == null)
         {
             return(Redirect("/dang-nhap.html"));
         }
         HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
         ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
         if (login == null || login.ID == 0)
         {
             return(Redirect("/dang-nhap.html"));
         }
         if (Session["ListShoppingCart"] != null)
         {
             List <Cart> carts = (List <Cart>)Session["ListShoppingCart"];
             return(View(carts));
         }
         return(Redirect("/"));
     }
     catch (Exception)
     {
         return(View());
     }
 }
 public ActionResult OrderWidget()
 {
     try
     {
         if (Request.Cookies["MemberLoginCookie"] != null)
         {
             HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
             ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
             var result = _orderBusiness.GetAll(login.ID);
             return(PartialView(result));
         }
         return(PartialView());
     }
     catch (Exception)
     {
         return(PartialView());
     }
 }
 public ActionResult Profiles()
 {
     try
     {
         HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
         ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
         if (login == null || login.ID == 0)
         {
             return(Redirect("/dang-nhap.html"));
         }
         var result = _memberBusiness.GetDetail(login.ID);
         return(View(result));
     }
     catch (Exception)
     {
         return(View());
     }
 }
示例#6
0
        public ActionResult Payment()
        {
            try
            {
                if (Request.Cookies["MemberLoginCookie"] == null)
                {
                    return(Redirect("/dang-nhap.html"));
                }
                HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
                ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
                if (login == null || login.ID == 0)
                {
                    return(Redirect("/dang-nhap.html"));
                }

                var receipts = _memberReceiptInfo.GetByMember(login.ID);
                if (receipts != null && receipts.Count() > 0)
                {
                    ViewBag.ReceiptInfo = receipts;
                }
                else
                {
                    return(Redirect("/dia-diem-giao-hang.html"));
                }

                if (Session["ListShoppingCart"] != null)
                {
                    List <Cart> carts = (List <Cart>)Session["ListShoppingCart"];
                    if (carts != null && carts.Count() > 0)
                    {
                        return(View(carts));
                    }
                }
                return(Redirect("/"));
            }
            catch (Exception)
            {
                return(Redirect("/"));
            }
        }
示例#7
0
 public ResponseMemberLogin Login(LoginModel model)
 {
     try
     {
         ResponseMemberLogin response = new ResponseMemberLogin();
         var member = DbContext.Members.FirstOrDefault(x => x.Account == model.Username && x.Password == model.Password);
         if (member != null && member.ID != 0)
         {
             response.ID   = member.ID;
             response.Name = member.Name;
             return(response);
         }
         else
         {
             return(null);
         }
     }
     catch (System.Exception)
     {
         return(null);
     }
 }
示例#8
0
        public ActionResult Payment(PaymentParam model)
        {
            try
            {
                HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
                ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
                if (login == null || login.ID == 0)
                {
                    return(Json(new PaymentResult {
                        Status = -1, Uri = ""
                    }));
                }

                double reduce = 0;

                var tour = _tourBusiness.GetDetail(model.TourID);
                if (tour != null && tour.ID != 0)
                {
                    var steps = _stepBusiness.GetAll(tour.ID);

                    if (model.PCode != "")
                    {
                        var promotion = _promotionBusiness.ApplyPromotion(model.PCode);
                        if (promotion != null && promotion.ID != 0)
                        {
                            if (promotion.TourApply == "" || promotion.TourApply == null)
                            {
                                if (promotion.Type == 1)
                                {
                                    reduce = promotion.AmountReduced;
                                }
                                else
                                {
                                    reduce = (tour.Price * promotion.PercentReduced) / 100;
                                }
                            }
                            else
                            {
                                if (promotion.TourApply.Contains(tour.ID.ToString()))
                                {
                                    if (promotion.Type == 1)
                                    {
                                        reduce = promotion.AmountReduced;
                                    }
                                    else
                                    {
                                        reduce = (tour.Price * promotion.PercentReduced) / 100;
                                    }
                                }
                            }
                        }
                    }

                    OrderView order = new OrderView();
                    order.Amount     = tour.Price - reduce;
                    order.Code       = $"{DateTime.Now.ToString("ddMMyy")}{RandomUtils.RandomString(6, 8, true, true, false)}";
                    order.Date       = DateTime.Now;
                    order.IsPayment  = false;
                    order.Member     = login.ID;
                    order.MemberName = login.Name;
                    order.Price      = tour.Price;
                    order.Reduce     = reduce;
                    order.Status     = 0;
                    order.Step       = 0;
                    order.Tour       = tour.ID;
                    if (_orderBusiness.Add(order))
                    {
                        _orderBusiness.Save();

                        long oID = _orderBusiness.GetID(order.Code);

                        if (steps != null && steps.Count() > 0 && oID != 0)
                        {
                            int max   = steps.Count();
                            int count = 1;
                            foreach (var item in steps)
                            {
                                OrderDetailView detail = new OrderDetailView();
                                detail.IsAccomplish = false;
                                if (count == max)
                                {
                                    detail.IsLastStep = true;
                                }
                                else
                                {
                                    detail.IsLastStep = false;
                                }
                                detail.OrderID  = oID;
                                detail.Rank     = count;
                                detail.StepID   = item.ID;
                                detail.StepName = item.Name;
                                if (_orderDetailBusiness.Add(detail))
                                {
                                    _orderDetailBusiness.Save();
                                }

                                count++;
                            }
                        }

                        if (model.TypePay == 0)
                        {
                            string uri = CreateRequestPaymentPort(order.Amount.ToString(), order.Code, login.ID.ToString());
                            return(Json(new PaymentResult {
                                Status = 1, Uri = uri
                            }));
                        }
                        if (model.TypePay == 1)
                        {
                            string uri = CreateRequestPaymentPortGlobal(order.Amount.ToString(), order.Code, login.ID.ToString());
                            return(Json(new PaymentResult {
                                Status = 1, Uri = uri
                            }));
                        }
                    }
                }
                return(Json(new PaymentResult {
                    Status = -1, Uri = ""
                }));
            }
            catch (Exception)
            {
                return(Json(new PaymentResult {
                    Status = -1, Uri = ""
                }));
            }
        }
示例#9
0
        public ActionResult Payment(PaymentParam model)
        {
            try
            {
                HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
                ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
                if (login == null || login.ID == 0)
                {
                    return(Json(new PaymentResult {
                        Status = -1, Uri = ""
                    }));
                }

                double reduce = 0;

                var doctor = _doctorBusiness.GetByID(model.DoctorID);

                if (doctor != null && doctor.ID != 0)
                {
                    if (model.PCode != "")
                    {
                        var promotion = _promotionBusiness.ApplyPromotion(model.PCode);
                        if (promotion != null && promotion.ID != 0)
                        {
                            if (promotion.DoctorApply == "" || promotion.DoctorApply == null)
                            {
                                if (promotion.Type == 1)
                                {
                                    reduce = promotion.AmountReduced;
                                }
                                else
                                {
                                    reduce = (doctor.Price * promotion.PercentReduced) / 100;
                                }
                            }
                            else
                            {
                                if (promotion.DoctorApply.Contains(doctor.ID.ToString()))
                                {
                                    if (promotion.Type == 1)
                                    {
                                        reduce = promotion.AmountReduced;
                                    }
                                    else
                                    {
                                        reduce = (doctor.Price * promotion.PercentReduced) / 100;
                                    }
                                }
                            }
                        }
                    }

                    AppoinmentView appoinment = new AppoinmentView();
                    appoinment.Amount    = doctor.Price - reduce;
                    appoinment.Code      = $"{DateTime.Now.ToString("ddMMyy")}{RandomUtils.RandomString(6, 8, true, true, false)}";
                    appoinment.Date      = model.Date;
                    appoinment.Doctor    = doctor.ID;
                    appoinment.IsPayment = false;
                    appoinment.Patient   = login.ID;
                    appoinment.Price     = doctor.Price;
                    appoinment.Reduce    = reduce;
                    appoinment.Status    = 0;
                    appoinment.Time      = model.Time;

                    if (_appoinmentBusiness.Add(appoinment))
                    {
                        _appoinmentBusiness.Save();
                        if (model.TypePay == 1)
                        {
                            string uri = CreateRequestPaymentPort((appoinment.Amount * 100).ToString(), appoinment.Code, login.ID.ToString());
                            return(Json(new PaymentResult {
                                Status = 1, Uri = uri
                            }));
                        }
                        if (model.TypePay == 2)
                        {
                            string uri = CreateRequestPaymentPortGlobal((appoinment.Amount * 100).ToString(), appoinment.Code, login.ID.ToString());
                            return(Json(new PaymentResult {
                                Status = 1, Uri = uri
                            }));
                        }
                    }
                }
                return(Json(new PaymentResult {
                    Status = -1, Uri = ""
                }));
            }
            catch (Exception)
            {
                return(Json(new PaymentResult {
                    Status = -1, Uri = ""
                }));
            }
        }
示例#10
0
        public ActionResult Payment(PaymentParam model)
        {
            try
            {
                if (model != null)
                {
                    if (Request.Cookies["MemberLoginCookie"] == null)
                    {
                        return(Json(new PaymentResult {
                            Status = -1, Uri = ""
                        }));
                    }
                    HttpCookie          reqCookies = Request.Cookies["MemberLoginCookie"];
                    ResponseMemberLogin login      = JsonConvert.DeserializeObject <ResponseMemberLogin>(reqCookies.Value.ToString().UrlDecode());
                    if (login == null || login.ID == 0)
                    {
                        return(Json(new PaymentResult {
                            Status = -1, Uri = ""
                        }));
                    }
                    if (Session["ListShoppingCart"] == null)
                    {
                        return(Json(new PaymentResult {
                            Status = -1, Uri = ""
                        }));
                    }
                    List <Cart> carts = (List <Cart>)Session["ListShoppingCart"];
                    if (carts == null || carts.Count() <= 0)
                    {
                        return(Json(new PaymentResult {
                            Status = -1, Uri = ""
                        }));
                    }

                    List <string> codes  = new List <string>();
                    List <string> id     = new List <string>();
                    double        amount = 0;


                    string Code = "";
                    Code += RandomUtils.RandomString(7, 9, true, true, false);
                    if (_orderBusiness.CheckExistsCode(Code))
                    {
                        Code = RandomUtils.RandomString(7, 9, true, true, false);
                    }
                    Code = Code.ToUpperCase(true);
                    OrderView order = new OrderView();
                    order.Amount  = carts.Sum(x => x.Total);
                    order.Code    = Code;
                    order.Date    = DateTime.Now;
                    order.Member  = login.ID;
                    order.Receipt = model.ReceiptID;
                    //order.Reduce=carts.Sum(x=>x.re)
                    order.StatusOrder   = 0;
                    order.StatusPayment = 0;
                    order.Total         = carts.Sum(x => x.Total);
                    order.TypePayment   = model.TypePay;
                    if (_orderBusiness.Add(order))
                    {
                        _orderBusiness.Save();

                        foreach (var d in carts)
                        {
                            OrderDetailView detail = new OrderDetailView();
                            detail.Code    = Code;
                            detail.Price   = d.Price;
                            detail.Product = d.ID;
                            detail.Qty     = d.Qty;
                            detail.Reduce  = 0;
                            detail.Total   = d.Total;
                            if (_orderDetailBusiness.Add(detail))
                            {
                                _orderDetailBusiness.Save();
                            }
                        }
                    }
                    amount = order.Amount;

                    Session["ListShoppingCart"] = null;
                    if (model.TypePay == 2)
                    {
                        return(Json(new PaymentResult {
                            Status = 1, Uri = $"/xac-nhan-dat-hang.html?code={Code}"
                        }));
                    }
                    if (model.TypePay == 0)
                    {
                        string uri = CreateRequestPaymentPort((amount * 100).ToString(), Code, login.Name);
                        return(Json(new PaymentResult {
                            Status = 1, Uri = uri
                        }));
                    }
                    if (model.TypePay == 1)
                    {
                        string uri = CreateRequestPaymentPortGlobal((amount * 100).ToString(), Code, login.Name);
                        return(Json(new PaymentResult {
                            Status = 1, Uri = uri
                        }));
                    }
                }
                return(Json(new PaymentResult {
                    Status = -1, Uri = ""
                }));
            }
            catch (Exception)
            {
                return(Json(new PaymentResult {
                    Status = -1, Uri = ""
                }));
            }
        }