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; } } }
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); } } }
//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; } }
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; }
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() }); } }
/// <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); }
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 }); }
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); }
private long UpdateTotalAmount(gModels.Cart cart) { long total = 0; foreach(var a in cart.List) { total += a.Pricing; } return total; }