コード例 #1
0
ファイル: ObjectGroup.cs プロジェクト: dinhha/catonahat
 public int AddOrder(gModels.Cart cart, long UserID, gModels.User u,string paymentmethod,long shipfee)
 {
     if (cart.List.Count == 0)
     {
         return 0;
     }
     else
     {
         try {
             var OrderCode=radomCode();
             gOrder order = new gOrder();
             order.gUserID = UserID;
             order.ShippingFee = shipfee;
             order.gTotalPrice = cart.TotalAmount + shipfee;
             order.PaymentStatus = 1;
             order.Status = 1;
             order.CreateDate = DateTime.Now;
             order.gEmail = u.Email;
             order.gPhone = u.Phone;
             order.gAddress = u.Address;
             order.gFullName = u.FullName;
             order.gOrderCode = OrderCode;
             order.gPaymentType = paymentmethod;
             var exist = db.ExecuteScalar<int>("Select count(1) from gOrder where gOrderCode=@Slug", new { Slug = OrderCode });
             if (exist == 0)
                {
                    db.Insert<gOrder>(order);
                    foreach (var item in cart.List)
                    {
                        gOrderDetail detail = new gOrderDetail();
                        detail.gOrderID = order.ID;
                        detail.gObjectID = item.ID;
                        detail.gQuantity = item.Quantity;
                        detail.gPrice = item.Pricing;
                        detail.CreateDate = DateTime.Now;
                        db.Insert<gOrderDetail>(detail);
                    }
                }
             return 1;
         }
         catch
         {
             return 0;
         }
     }
 }
コード例 #2
0
ファイル: Cart.cs プロジェクト: dinhha/catonahat
        public void AddUpdateCart(CartItem obj, gModels.Cart cart)
        {
            var found = List.Where(m => m.ID == obj.ID).FirstOrDefault();
            if (found == null)
            {
                List.Add(obj);
                Count = Count + 1;
                TotalAmount = TotalAmount + obj.Pricing;
            }
            else
            {
                if (obj.Quantity == 0)
                {
                    List.Remove(found);
                }
                else
                {
                    found.Quantity = obj.Quantity;
                    found.Pricing = found.Quantity * found.Price;
                    TotalAmount = UpdateTotalAmount(cart);
                }

            }
        }
コード例 #3
0
ファイル: ObjectGroup.cs プロジェクト: dinhha/catonahat
        //chưa viết check
        public long UpdateOneModel(gModels.gObject model, long organizeid)
        {
            try
            {

                if (model.ID == 0)
                {
                    model.CreateDate = DateTime.Now;
                    model.Status = 1;
                    db.Insert(model);
                }
                else
                {
                    //model.CreateDate = DateTime.Now;
                    model.LastUpdateDate = DateTime.Now;
                    db.Update("gObject", "ID", model);
                }
                if (model.Attrs != null)
                {
                    foreach (var attr in model.Attrs)
                    {
                        var mmodel = new gModels.gObjectData() { gObjectID = model.ID, CreateDate = DateTime.Now, gAttrID = attr.ID, gValue = attr.AttrValue };
                        if (attr.gObjectDataID == 0)
                        {
                            db.Insert(mmodel);
                            attr.gObjectDataID = mmodel.ID;

                        }
                        else
                        {
                            mmodel.LastUpdateDate = DateTime.Now;
                            mmodel.ID = attr.gObjectDataID;
                            db.Update(mmodel);
                        }

                    }
                }
                return model.ID;
            }
            catch
            {
                return 0;
            }
        }
コード例 #4
0
ファイル: ObjectGroup.cs プロジェクト: dinhha/catonahat
 public long NewCustomer(gModels.User model, long organizeid)
 {
     model.CreateDate = DateTime.Now;
     model.Status = 1;
     model.GroupID = 3;
     model.gOrganizeID = organizeid;
     db.Insert(model);
     return model.ID;
 }
コード例 #5
0
ファイル: UserController.cs プロジェクト: dinhha/TheDeck
        public JsonResult Register(gModels.User model)
        {
            try
                {

                    var us=_userService.CreateAccount(model);

                    FormsAuthentication.SetAuthCookie(us.Email, false);

                    return Json(new { success = true, data = new { us.Email, us.GroupID} });
                }
                catch (MembershipCreateUserException e)
                {
                    return Json(new { success = false,msg=e.ToString() });
                }
        }
コード例 #6
0
ファイル: UserController.cs プロジェクト: dinhha/TheDeck
 /// <summary>
 /// List user Manager 
 /// Accept Admin only
 /// </summary>
 public JsonResult UserManager(long UserID, gModels.UserFillter fillter, int Page = 1, int Pagezise = 10)
 {
     ResultData<dynamic> kq = new ResultData<dynamic>();
     if (UserID != 0)
     {
         kq.Data = new
         {
             Filter = fillter,
             List = _userService.GetListUserByUser(UserID, Page, Pagezise, fillter)
         };
     }
     else
     {
         kq.Data = null;
     }
     return Json(kq, JsonRequestBehavior.AllowGet);
 }
コード例 #7
0
ファイル: ObjectController.cs プロジェクト: dinhha/TheDeck
 public ActionResult UpdateOneObject(gModels.gObject model)
 {
     if (!User.Identity.IsAuthenticated)
     {
         return Json(new { success = false, auth = false, msg = "Bạn chưa đăng nhập hoặc không quyền hạn này." }, JsonRequestBehavior.AllowGet);
     }
     var modelImage = model.Attrs.Where(m => m.AttrType == 9);
     if (modelImage.Count() > 0)
     {
         foreach (var item in model.Attrs.Where(m => m.AttrType == 9))
         {
             item.AttrValue = item.AttrValue.Replace("[", "").Replace("]", "").Replace('"', ' ');
         }
     }
     long id = sc.UpdateOneModel(model, Organize.ID);
     return Json(new { success = true, data = id });
 }
コード例 #8
0
ファイル: ObjectController.cs プロジェクト: dinhha/catonahat
        public ActionResult DoOrder(gModels.User people,string paymentmethod,long shipfee)
        {
            gModels.Cart cart = null;
            if (Session["Cart"] != null)
            {

                cart = (gModels.Cart)Session["Cart"];
            }
            else
            {
                return Json(new { success = false }, JsonRequestBehavior.AllowGet);

            }
            long Idcustomer = 0;
            if (User.Identity.IsAuthenticated)
            {
                var u = _userService.GetUserByEmail(User.Identity.Name);
                if (u == null)
                    return Json(new { success = false, msg = "Not login" }, JsonRequestBehavior.AllowGet);

                Idcustomer = u.ID;
            }
            else
            {
                var customer = sc.findCustomer(people.Email, people.Phone);

                if (customer == null)
                {
                    Idcustomer = sc.NewCustomer(people, Organize.ID);
                }
                else
                {
                    Idcustomer = customer.ID;

                }
            }
            string error = "";
            int result = sc.AddOrder(cart, Idcustomer, people, paymentmethod, shipfee);
            if (result > 0)
            {

                var mailconfig = sc.getOneObject("mailconfig", Organize.ID);
                //send mail to mailconfig
                var config = mailconfig.Attrs.ToDictionary(m => m.AttrName, m => m.AttrValue);
                try
                {
                    var template = sc.getOneObject("mailtemplate", Organize.ID);

                    var SmtpServer = new SmtpClient(config["host"]);
                    SmtpServer.Port = int.Parse(config["port"]);
                    SmtpServer.Credentials = new System.Net.NetworkCredential(config["user"], config["password"]);
                    SmtpServer.EnableSsl = true;

                    //get email template
                    var dnow = DateTime.Now;
                    var templateconfig = template.Attrs.ToDictionary(m => m.AttrName, m => m.AttrValue);

                    var emailcontent = templateconfig["mailcontent"];
                    emailcontent = emailcontent.Replace("_TOTALAMOUNT_", String.Format("{0:0,0 vnđ}", cart.TotalAmount));
                    emailcontent = emailcontent.Replace("_TIME_", dnow.ToString("hh:mm:ss  dd/MM/yyyy"));
                    emailcontent = emailcontent.Replace("_NAME_", people.FullName);
                    int i = 1;
                    string cartstr = "<table cellspacing='0' cellpadding='10' border='1' style='width:100%'><tr style='background:#038738;color:#fff'><td>#</td><td>Sản phẩm</td><td>Số lượng</td><td>Đơn giá</td><td>Thành tiền</td></tr>";
                    foreach (var citem in cart.List)
                    {
                        cartstr += "<tr>";
                        cartstr += "<td style='text-align:center'>";
                        cartstr += i.ToString();
                        cartstr += "</td>";
                        cartstr += "<td>";
                        if (!string.IsNullOrEmpty(citem.Object.gImage))
                        {
                            string imglink = citem.Object.gImage;
                            cartstr += "<img style='width:50px;height:50px;float:left;margin-right:10px' src='" + imglink + "' alt='" + citem.Object.Title + "'/>";
                        }
                        cartstr += "<span style='float:left;padding-top:10px;font-weight:bold'>" + citem.Object.Title + "</span>";
                        cartstr += "</td>";
                        cartstr += "<td style='text-align:center'>";
                        cartstr += citem.Quantity;
                        cartstr += "</td>";
                        cartstr += "<td>";
                        cartstr += String.Format("{0:0,0 }",1);
                        cartstr += "</td>";
                        cartstr += "<td>";
                        cartstr += String.Format("{0:0,0 }", citem.Pricing);
                        cartstr += "</td>";
                        cartstr += "</tr>";
                        i += 1;
                    }

                    cartstr += "<tr>";
                    cartstr += "<td colspan='4'></td><td>";
                    cartstr += "<span style='color:green;font-size:18px;font-weight:bold;'>" + String.Format("{0:0,0 }", cart.TotalAmount) + "</span>  VND";
                    cartstr += "</td>";
                    cartstr += "</tr>";
                    cartstr += "</table>";
                    emailcontent = emailcontent.Replace("_CART_", cartstr);

                    MatchCollection matchCollection = Regex.Matches(emailcontent, "<img.+?src=[\"'](.+?)[\"'].*?>", RegexOptions.IgnoreCase);
                    foreach (Match match in matchCollection)
                    {
                        string value = match.Groups[1].Value;

                        emailcontent = emailcontent.Replace(value, HttpUtility.UrlDecode(value));

                    }

                    string customerstr = "<table cellspacing='0' cellpadding='10' border='1'><tr style='background:#038738;color:#fff'><td>Họ và tên</td><td>Số điện thoại</td><td>Email</td><td>Địa chỉ</td></tr><tr><td>" + people.FullName + "</td><td>" + people.Phone + "</td><td>" + people.Email + "</td><td>" + people.Address + "</td></tr><tr><td>Ghi chú</td><td colspan='3'></td></tr></table>";
                    emailcontent = emailcontent.Replace("_CUSTOMER_", customerstr);
                    emailcontent = emailcontent.Replace("_LINKCHECKORDER_", "<a href='" + Request.Url.GetLeftPart(UriPartial.Authority) + "/kiem-tra-don-hang?email=" + HttpUtility.UrlEncode(people.Email) + "&phone=" + HttpUtility.UrlEncode(people.Phone) + "' target='_blank'>Kiểm tra đơn hàng</a>");

                    try
                    {
                        var email = new GuMail();
                        email.mSmtp = SmtpServer;
                        email.From = config["user"];
                        email.Title = templateconfig["mailtitle"] + " - " + dnow.ToString("hh:mm:ss dd/MM/yyyy");
                        email.ContentText = templateconfig["shortdescription"];
                        email.ContentHtml = emailcontent;
                        email.To = people.Email;
                        email.Send();

                    }
                    catch (Exception er)
                    {
                        error += "Không thể gửi mail tới email của bạn" + er.Message;
                    }

                    try
                    {

                        var email = new GuMail();
                        email.mSmtp = SmtpServer;
                        email.From = config["user"];
                        email.Title = templateconfig["mailtitle"] + " - " + dnow.ToString("hh:mm:ss dd/MM/yyyy");
                        email.ContentText = templateconfig["shortdescription"];
                        email.ContentHtml = emailcontent;
                        email.To = config["notifyemail"];
                        email.Send();
                    }
                    catch (Exception err)
                    {

                        error += "\n Không thể gửi mail tới email của bạn" + err.Message;
                    }

                }
                catch
                { }
                //
                cart = new Cart();
                Session["Cart"] = cart;
            }

            return Json(new { success = true, data = result, error = error }, JsonRequestBehavior.AllowGet);
        }
コード例 #9
0
ファイル: Cart.cs プロジェクト: dinhha/catonahat
 private long UpdateTotalAmount(gModels.Cart cart)
 {
     long total = 0;
     foreach(var a in cart.List)
     {
         total += a.Pricing;
     }
     return total;
 }