public ActionResult Details(string id) { while (id.Length < 10) { id += " "; } DBModels db = new DBModels(); var listsp = new List <CartItem>(); var px = db.PhieuXuats.Find(id); ViewBag.ngaydat = px.NgayDat; ViewBag.ngayship = px.NgayShip; foreach (var item in db.CTPhieuXuats) { if (item.PhieuXuat.MaPX == px.MaPX) { var ci = new CartItem(); ci.SanPham = db.SanPhams.Find(item.MaSP); ci.Quantity = item.SoLuong; listsp.Add(ci); } } return(View(listsp)); }
public TipoUsuarioRepository() { db = new DBModels(); }
/// <summary> /// Public Constructor,initializes privately declared local variables. /// </summary> /// <param name="context"></param> public GenericRepository(DBModels context) { this.Context = context; this.DbSet = context.Set <TEntity>(); }
public async Task <IActionResult> Post([FromBody] NewQRReq reqForm) { _logger.LogInformation("start request new QR service"); DBModels dbModel = new DBModels(); //validate TransId string transIdResult = await dbModel.checkTransId(reqForm.UserID, reqForm.TransId); if (transIdResult != "") { return(Ok(new NewQR_Fail() { Msg = transIdResult })); } //TODO: Check promotion code List <ProductDetail> prodDetail = await dbModel.GetProductDetailFromProductList(reqForm.Company, reqForm.Product); if (prodDetail.Count == 0) { return(Ok(new NewQR_Fail() { Msg = "Invalid Company or/and Product" })); } if (reqForm.NewQty <= 0) { return(Ok(new NewQR_Fail() { Msg = "Invalid new quantity" })); } Double discount = 0; if (reqForm.PromotionCode.ToUpper() == "50% OFF") { discount = 0.5; } double ttlAmt = System.Math.Round(prodDetail[0].UnitPrice * reqForm.NewQty * (1 - discount), 2);//String.Format("{0:0.00}", 123.4567); -->123.45 DateTime transTime = DateTime.Now; //getToken var s = await authService.getToken(); var data1 = JsonConvert.DeserializeObject <Dictionary <string, string> >(await authService.getToken()); string token = (data1["access_token"] ?? "").ToString(); if (token == "") { return(Unauthorized()); } //check balance if (!(await eWalletAPI.checkEWalletBalanceAsync(token, reqForm.UserID, ttlAmt))) { return(Ok(new NewQR_Fail() { Msg = "Not enough balance" })); } string newQR = ""; if (reqForm.ReqType == "Submit") { //deduct balance if (!(await eWalletAPI.deductEWalletBalanceAsync(token, reqForm.UserID, ttlAmt, reqForm.TransId, reqForm.Product, reqForm.Company, reqForm.Remark))) { return(Ok(new NewQR_Fail() { Msg = "Deduct amount fail" })); } await dbModel.InitNewQRCode(reqForm.UserID, reqForm.TransId, transTime, reqForm.NewQty, ttlAmt, reqForm.PromotionCode); //get new QR string reqResult = await iJoozAPI.reqQR("New", reqForm.TransId, reqForm.TransTime, "member", reqForm.UserID, "-", prodDetail[0].Currency, prodDetail[0].UnitPrice, reqForm.NewQty, DateTime.Now.AddMonths(24)); if (reqResult == "") { return(Ok(new NewQR_Fail() { Msg = "Get QR Code from iJooz Fail" })); } else { var data = JsonConvert.DeserializeObject <Dictionary <string, string> >(reqResult); if (data["result"] == "Success") { newQR = data["qrCode"]; } else { return(Ok(new NewQR_Fail() { Msg = "Get QR Code from iJooz Fail2" })); } } await dbModel.SaveNewQRCode(reqForm.UserID, reqForm.TransId, newQR, reqForm.Company, reqForm.NewQty, reqForm.Product, prodDetail[0].Currency, prodDetail[0].UnitPrice, DateTime.Now.AddYears(10)); } else if (reqForm.ReqType != "Preview") { return(Ok(new NewQR_Fail() { Msg = "Invalid Request Type" })); } List <NewQRDetail> detailList = new List <NewQRDetail> { new NewQRDetail() { TransId = reqForm.TransId, ReqType = reqForm.ReqType, Company = reqForm.Company, Product = reqForm.Product, QRCode = newQR, TtlQty = reqForm.NewQty, Currency = prodDetail[0].Currency, Amt = ttlAmt, ExpiredDate = DateTime.Now.AddYears(10) } }; return(Ok(new NewQR_OK() { QrDetail = detailList })); }
public ActionResult AddItem(string id, int quantity) { var SanPham = new SanPhamDAO().ViewDetail(id); var cart = Session[CommomConstants.CartSession]; // lấy về người đăng nhập hiện tại var sessnd = Session[CommomConstants.NguoiDungSession]; var nd = new NguoiDungLogin(); nd = (NguoiDungLogin)sessnd; // nếu chưa đăng nhập if (sessnd == null) { if (cart != null) { var list = (List <CartItem>)cart; //ép kiểu về list cartitem lấy từ session(dữ liệu trong session là kiểu list if (list.Exists(x => x.SanPham.MaSP == id)) //nếu list chứa productid truyền vào { foreach (var item in list) { if (item.SanPham.MaSP == id) // nếu đã tồn tại id mà thêm một id => tăng thêm số lượng { item.Quantity += quantity; } } } else // add mới một sản phẩm { //tạo mới đối tượng cart item var item = new CartItem(); item.SanPham = SanPham; item.Quantity = quantity; list.Add(item); } //Gán vào session Session[CommomConstants.CartSession] = list; } else { //tạo mới đối tượng cart item var item = new CartItem(); item.SanPham = SanPham; item.Quantity = quantity; var list = new List <CartItem>(); list.Add(item); //Gán vào Session Session[CommomConstants.CartSession] = list; } } else //đã đăng nhập { DBModels db = new DBModels(); // kiểm tra giỏ hàng trong db var gh = new GioHang(); gh = db.GioHangs.SingleOrDefault(x => x.MaND == nd.ID); // lấy giỏ hàng của người dùng hiện tại var item = db.CTGioHangs.Find(gh.MaGH, SanPham.MaSP); if (item != null) { item.SoLuong += quantity; db.SaveChanges(); } else { var tem = new CTGioHang(); tem.MaGH = gh.MaGH; tem.MaSP = SanPham.MaSP; tem.SoLuong = quantity; db.CTGioHangs.Add(tem); db.SaveChanges(); } } return(RedirectToAction("Index")); }
public ProductOperations() { _databaseEntities = new DBModels(); }
public NhaCCDAO() { db = new DBModels(); }
public CategoryOperations() { _databaseEntities = new DBModels(); }
public async Task <IActionResult> Post([FromBody] TopUpQRReq reqForm) { _logger.LogInformation("start share QR balance"); DBModels dbModel = new DBModels(); //validate TransId string transIdResult = await dbModel.checkTransId(reqForm.UserID, reqForm.TransId); if (transIdResult != "") { return(Ok(new TopUpQR_Fail() { Msg = transIdResult })); } //get product info based on QR List <QrBalance> prodDetail = await dbModel.GetProductDetailFromQR_Status(reqForm.UserID, reqForm.QRCode); if (prodDetail.Count == 0) { return(Ok(new TopUpQR_Fail() { Msg = "Invalid QR Code" })); } if (reqForm.TopUpQty <= 0) { return(Ok(new TopUpQR_Fail() { Msg = "Invalid new quantity" })); } //TODO: update promotion Double discount = 0; if (reqForm.PromotionCode.ToUpper() == "50% OFF") { discount = 0.5; } double ttlAmt = System.Math.Round(prodDetail[0].UnitPrice * reqForm.TopUpQty * (1 - discount), 2);//String.Format("{0:0.00}", 123.4567); -->123.45 //getToken var s = await authService.getToken(); var data1 = JsonConvert.DeserializeObject <Dictionary <string, string> >(await authService.getToken()); string token = (data1["access_token"] ?? "").ToString(); if (token == "") { return(Unauthorized()); } //check balance if (!(await eWalletAPI.checkEWalletBalanceAsync(token, reqForm.UserID, ttlAmt))) { return(Ok(new NewQR_Fail() { Msg = "Not enough balance" })); } DateTime transTime = DateTime.Now; int ttlQtyAfterTopUp = reqForm.TopUpQty + prodDetail[0].Qty; DateTime ExpiryDate = DateTime.Now.AddYears(10); if (reqForm.ReqType == "Submit") { await dbModel.InitTopUpQRCode(reqForm.UserID, reqForm.QRCode, reqForm.TransId, transTime, reqForm.TopUpQty, ttlAmt, reqForm.PromotionCode); //deduct balance if (!(await eWalletAPI.deductEWalletBalanceAsync(token, reqForm.UserID, ttlAmt, reqForm.TransId, prodDetail[0].Product, prodDetail[0].Company, reqForm.Remark))) { return(Ok(new NewQR_Fail() { Msg = "Deduct amount fail" })); } //topup QR (need to get new ttl qty & new expirydate) string reqResult = await iJoozAPI.reqQR("TopUp", reqForm.TransId, reqForm.TransTime, "member", reqForm.UserID, reqForm.QRCode, prodDetail[0].Currency, prodDetail[0].UnitPrice, reqForm.TopUpQty, DateTime.Now.AddMonths(24)); if (reqResult == "") { return(Ok(new NewQR_Fail() { Msg = "Get QR Code from iJooz Fail" })); } else { var data = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(reqResult); if (data["result"] == "Success") { ttlQtyAfterTopUp = Convert.ToInt16(data["balanceQty"]); } else { return(Ok(new NewQR_Fail() { Msg = "Get QR Code from iJooz Fail2" })); } } await dbModel.SaveTopUpQRCode(reqForm.UserID, reqForm.TransTime, reqForm.QRCode, ttlQtyAfterTopUp, ExpiryDate); } else if (reqForm.ReqType != "Preview") { return(Ok(new TopUpQR_Fail() { Msg = "Invalid Request Type" })); } List <TopUpQrDetail> detailList = new List <TopUpQrDetail> { new TopUpQrDetail() { TransId = reqForm.TransId, ReqType = reqForm.ReqType, Company = prodDetail[0].Company, Product = prodDetail[0].Product, QRCode = prodDetail[0].QRCode, TopUpQty = reqForm.TopUpQty, TtlQty = ttlQtyAfterTopUp, Currency = prodDetail[0].Currency, Amt = ttlAmt, ExpiryDate = ExpiryDate } }; return(Ok(new TopUpQR_OK() { QrDetail = detailList })); }
public async Task<IActionResult> Post([FromBody] RegenQRReq reqForm) { _logger.LogInformation("start gen QR"); DBModels dbModel = new DBModels(); //validate TransId string transIdResult = await dbModel.checkTransId(reqForm.UserID, reqForm.TransId); if (transIdResult != "") { return Ok(new RegenQR_Fail() { Msg = transIdResult }); } List<QrBalance> prodDetail = await dbModel.GetProductDetailFromQR_Status(reqForm.UserID, reqForm.QRCode); if (prodDetail.Count == 0) { return Ok(new RegenQR_Fail() { Msg = "Invalid QR Code" }); } DateTime transTime = DateTime.Now; await dbModel.InitRegenQRCode(reqForm.UserID, reqForm.QRCode, reqForm.TransId, transTime); //Regen QR (need to get new ttl qty & new expirydate) string NewQRCode = ""; int balanceQty = 0; string reqResult = await iJoozAPI.reqQR("Regen", reqForm.TransId, transTime.ToString("yyyy-MM-dd HH:mm:ss"), "member", reqForm.UserID, reqForm.QRCode, prodDetail[0].Currency, prodDetail[0].UnitPrice, 0, transTime.AddMonths(24)); if (reqResult == "") { return Ok(new RegenQR_Fail() { Msg = "Get QR Code from iJooz Fail" }); } else { var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(reqResult); if (data["result"] == "Success") { NewQRCode = data["qrCode"]; balanceQty = Convert.ToInt16(data["balanceQty"]); } else { return Ok(new RegenQR_Fail() { Msg = "Get QR Code from iJooz Fail2" }); } } await dbModel.SaveRegenQRCode(reqForm.UserID, reqForm.TransId, reqForm.QRCode, NewQRCode, balanceQty); List<QrDetail> detailList = new List<QrDetail> { new QrDetail() { TransId=reqForm.TransId, NewQRCode=NewQRCode, TtlQty=balanceQty, ExpiryDate=prodDetail[0].ExpiryDate } }; return Ok(new RegenQR_OK() { QrDetail = detailList }); }
public ActionResult Login(User_LoginClass userModel, tbl_order o) { using (DBModels db = new DBModels()) { var userDetails = db.User_Login.Where(x => x.Email == userModel.Email && x.Password == userModel.Password).FirstOrDefault(); var admin = db.User_Login.Where(x => x.Email == "*****@*****.**" && x.Password == "12345").FirstOrDefault(); if (userDetails == null) { userModel.LoginErrorMessage = "*Wrong User Name Or Password."; return(View("Login", userModel)); } else if (userDetails == admin) { Session["Login_id"] = userDetails.Login_id; ViewData["Message"] = "User Record" + userModel.Email + "Is Login Successfully!"; return(RedirectToAction("ViewRegisterFood")); } else { Session["Login_id"] = userDetails.Login_id; List <card> li = TempData["card"] as List <card>; tbl_invoice iv = new tbl_invoice(); iv.in_fk_Login_id = Convert.ToInt32(Session["Login_id"].ToString()); if (TempData["card"] != null) { iv.in_Date_Time = System.DateTime.Now; iv.in_total_bill = (float)TempData["total"]; db.tbl_invoice.Add(iv); db.SaveChanges(); foreach (var item in li) { tbl_order od = new tbl_order(); od.o_fk_pro_Food_id = item.pro_product_id; od.o_fk_in_id = iv.in_id; od.o_Date_Time = System.DateTime.Now; od.o_Quantity = item.qty; od.o_unitprice = (int)item.pro_product_Price; od.o_bill = item.pro_product_Bill; db.tbl_order.Add(od); db.SaveChanges(); } TempData.Remove("total"); TempData.Remove("card"); TempData["msg"] = "Transaction Completed...."; TempData.Keep(); return(RedirectToAction("EveryDayValue", "Home", userModel)); } else { userModel.LoginErrorMessage = "*Cart is Empty"; return(View("Login", userModel)); } } } }
// GET: User public ActionResult Index() { //Passes values to populate customer landing page ApplicationDbContext context = new ApplicationDbContext(); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); ApplicationUser currentUser = UserManager.FindById(User.Identity.GetUserId()); using (DBModels dBModel = new DBModels()) { //Retrieve customer's next appointment time (if exists) var nextAppointment = dBModel.userevents.Where(x => x.UserID == currentUser.Id).FirstOrDefault(); if (nextAppointment != null) { var appointment = nextAppointment.Start.ToShortDateString(); ViewData["nextAppointment"] = appointment; } else { ViewData["nextAppointment"] = "No upcoming appointments."; } //Retrieve customer's last appointment (if exists) var lastAppointment = dBModel.servicehistories.Where(x => x.CustomerID == currentUser.Id).FirstOrDefault(); if (lastAppointment != null) { var appointment = lastAppointment.Start.Value; var daysAgo = DateTime.Now.Subtract(appointment).Days.ToString(); ViewData["daysAgo"] = daysAgo + " days ago"; } else { ViewData["daysAgo"] = "No appointment history."; } //Retrieve customer's service reminders var serviceList = dBModel.servicehistories.Where(x => x.CustomerID == currentUser.Id).ToList(); if (serviceList != null) { foreach (var service in serviceList) { var type = service.ServiceType; int serviceDays = 0; switch (type) { case "Sound Testing": break; case "Airtightness Testing": break; case "Solar Electricity": serviceDays = 365; break; case "Solar Hot Water": serviceDays = 548; break; case "Heat Recovery and Ventilation": break; case "Heat Pump": serviceDays = 730; break; default: serviceDays = 0; break; } var serviceDate = service.Start.Value.AddDays(serviceDays); var daysLeft = serviceDate.Subtract(System.DateTime.Now).Days.ToString(); ViewData["equipment"] = type.ToString(); ViewData["serviceDate"] = serviceDate.ToShortDateString(); ViewData["daysLeft"] = daysLeft; } } else { ViewData["serviceDate"] = null; } } return(View(currentUser)); }
public LoaiNDDAO() { db = new DBModels(); }
// lọc sp theo loại sp, hãng sản xuất, bán chạy hoặc hạ giá public ActionResult Loc(string id, int?loai, int?page, string searchString = "") { DBModels db = new DBModels(); // 2. Nếu page = null thì đặt lại là 1. if (page == null) { page = 1; } List <SanPham> list = new List <SanPham>(); //var items = db.SanPhams.ToList(); if (searchString != string.Empty) { list = db.SanPhams.ToList(); list = list.Where(x => x.TenSP.Contains(searchString)).ToList(); } else { if (id != null) { while (id.Length < 10) { id += " "; } } foreach (var item in db.SanPhams) { if (loai > 4) { list = db.SanPhams.ToList(); break; } switch (loai) { case 1: if (item.MaLoaiSP == id) { list.Add(item); } break; case 2: if (item.MaNCC == id) { list.Add(item); } break; case 3: if (item.SoLuong <= 14) { list.Add(item); } break; case 4: if (item.MaKM != null) { list.Add(item); } break; } } } // 3. Tạo truy vấn, lưu ý phải sắp xếp theo trường nào đó, ví dụ OrderBy // theo LinkID mới có thể phân trang. var links = (from l in list select l).OrderBy(x => x.MaSP); // 4. Tạo kích thước trang (pageSize) hay là số Link hiển thị trên 1 trang int pageSize = 12; // 4.1 Toán tử ?? trong C# mô tả nếu page khác null thì lấy giá trị page, còn // nếu page = null thì lấy giá trị 1 cho biến pageNumber. int pageNumber = (page ?? 1); ViewBag.lsp = db.LoaiSPs; ViewBag.ncc = db.NhaCCs; return(View(links.ToPagedList(pageNumber, pageSize))); }
// GET: Customer public ActionResult Index() { using (DBModels db = new DBModels()) return(View(db.Customers.ToList())); }
public UnitOfWork() { _context = new DBModels(); }
// GET: Customer/Delete/5 public ActionResult Delete(int id) { using (DBModels db = new DBModels()) return(View(db.Customers.Where(x => x.CustomerId == id).FirstOrDefault())); }
public ActionResult Check() { //lấy về giỏ hàng hiện tại var cart = Session[CommomConstants.CartSession]; var list = new List <CartItem>(); list = (List <CartItem>)cart; DBModels db = new DBModels(); // lấy về người đăng nhập hiện tại var sessnd = Session[CommomConstants.NguoiDungSession]; var nd = new NguoiDungLogin(); nd = (NguoiDungLogin)sessnd; if (nd == null) { var px = new PhieuXuat(); px.MaND = (DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds.ToString(); while (px.MaND.Length > 10) { px.MaND = px.MaND.Substring(1, px.MaND.Length - 2); } px.MaPX = px.MaND; px.NgayDat = DateTime.Now; px.NgayShip = DateTime.Now; db.PhieuXuats.Add(px); var kvl = new NguoiDung(); kvl.MaND = px.MaND; db.NguoiDungs.Add(kvl); db.SaveChanges(); //Gán vào session Session[CommomConstants.CartSession] = null; return(RedirectToAction("Success", "Card")); } else { var px = new PhieuXuat(); px.MaPX = (DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds.ToString(); while (px.MaPX.Length > 10) { px.MaPX = px.MaPX.Substring(1, px.MaPX.Length - 2); } px.MaND = nd.ID; px.NgayDat = DateTime.Now.Date; px.NgayShip = DateTime.Now.Date; db.PhieuXuats.Add(px); foreach (var i in list) //list cac san pham trong gio hang { db.CTPhieuXuats.Add(new CTPhieuXuat //them tuong ung vao phieu xuat { MaPX = px.MaPX, MaSP = i.SanPham.MaSP, SoLuong = i.Quantity }); } //list.Clear(); db.SaveChanges(); //Gán vào session Session[CommomConstants.CartSession] = list; return(RedirectToAction("Success", "Card")); } //return RedirectToAction("Index", "Card"); }
// GET: Product public ActionResult Index() { DBModels db = new DBModels(); return(View(db)); }
public LoaiSanPhamDAO() { db = new DBModels(); }
public async Task <IActionResult> Post([FromBody] ShareQRReq reqForm) { _logger.LogInformation("start share QR balance"); DBModels dbModel = new DBModels(); //validate TransId string transIdResult = await dbModel.checkTransId(reqForm.UserID, reqForm.TransId); if (transIdResult != "") { return(Ok(new ShareQR_Fail() { Msg = transIdResult })); } //get product info based on QR List <QrBalance> prodDetail = await dbModel.GetProductDetailFromQR_Status(reqForm.UserID, reqForm.QRCode); if (prodDetail.Count == 0) { return(Ok(new ShareQR_Fail() { Msg = "Invalid QR Code" })); } if (reqForm.SharedQty <= 0) { return(Ok(new ShareQR_Fail() { Msg = "Invalid shared quantity" })); } else if (reqForm.SharedQty > prodDetail[0].Qty) { return(Ok(new ShareQR_Fail() { Msg = "Shared quantity can't be higher than available quantity" })); } DateTime transTime = DateTime.Now; int ttlQtyAfterShare = prodDetail[0].Qty - reqForm.SharedQty; DateTime ExpiryDate = prodDetail[0].ExpiryDate; await dbModel.InitShareQRCode(reqForm.UserID, reqForm.QRCode, reqForm.TransId, transTime, reqForm.SharedQty); //Share QR (need to get new ttl qty & new expirydate) string SharedQRCode = ""; string reqResult = await iJoozAPI.reqQR("Share", reqForm.TransId, reqForm.TransTime, "member", reqForm.UserID, reqForm.QRCode, prodDetail[0].Currency, prodDetail[0].UnitPrice, reqForm.SharedQty, DateTime.Now.AddMonths(24)); if (reqResult == "") { return(Ok(new ShareQR_Fail() { Msg = "Get QR Code from iJooz Fail" })); } else { var data = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(reqResult); if (data["result"] == "Success") { SharedQRCode = data["qrCode"]; ttlQtyAfterShare = Convert.ToInt16(data["balanceQty"]); } else { return(Ok(new ShareQR_Fail() { Msg = "Get QR Code from iJooz Fail2" })); } } await dbModel.SaveShareQRCode(reqForm.UserID, reqForm.TransId, reqForm.QRCode, ttlQtyAfterShare, SharedQRCode, reqForm.SharedQty, reqForm.Remark); List <QrDetail> detailList = new List <QrDetail> { new QrDetail() { TransId = reqForm.TransId, QRCode = prodDetail[0].QRCode, RemainQty = ttlQtyAfterShare, SharedQRCode = SharedQRCode, SharedQty = reqForm.SharedQty, ExpiryDate = prodDetail[0].ExpiryDate, Remark = reqForm.Remark } }; return(Ok(new ShareQR_OK() { QrDetail = detailList })); }
public NguoiDungDao() { db = new DBModels(); }
public BangKhuyenMaiDAO() { db = new DBModels(); }