Пример #1
0
        public int Save(PhieuMua Order)
        {
            try
            {
                if (Order.MaPM != 0)
                {
                    return(DbContext.NonRecord("updatePhieuMua",
                                               new SqlParameter(PARAM_MA_PM, Order.MaPM),
                                               new SqlParameter(PARAM_NGAY_DAT, Order.NgayDatMua),
                                               new SqlParameter(PARAM_NGAY_GIAO, Order.NgayGiao),
                                               new SqlParameter(PARAM_TONG_TIEN, Order.TongTien),
                                               new SqlParameter(PARAM_SIM_ID, Order.SimId)
                                               ));
                }
                //else
                return(DbContext.NonRecord("insertPhieuMua",
                                           new SqlParameter(PARAM_NGAY_DAT, Order.NgayDatMua),
                                           new SqlParameter(PARAM_NGAY_GIAO, Order.NgayGiao),
                                           new SqlParameter(PARAM_TONG_TIEN, Order.TongTien),
                                           new SqlParameter(PARAM_MA_KH, Order.MaKH),
                                           new SqlParameter(PARAM_SIM_ID, Order.SimId)
                                           ));
            }
            catch (Exception)
            {
            }

            return(-1);
        }
Пример #2
0
        public PhieuMua Find(int id)
        {
            try
            {
                DbDataReader dbReader = DbContext.RecordSets("findPhieuMuaById", new SqlParameter(PARAM_MA_PM, id));

                if (!dbReader.HasRows)
                {
                    return(new PhieuMua());
                }

                dbReader.Read();

                PhieuMua rOrder = new PhieuMua();
                rOrder.MaPM       = id;
                rOrder.NgayDatMua = dbReader.GetDateTime(dbReader.GetOrdinal(COL_NGAY_DAT));
                rOrder.NgayGiao   = dbReader.GetDateTime(dbReader.GetOrdinal(COL_NGAY_GIAO));
                rOrder.TongTien   = dbReader.GetDecimal(dbReader.GetOrdinal(COL_TONG_TIEN));
                rOrder.MaKH       = dbReader.GetInt32(dbReader.GetOrdinal(COL_MA_KH));
                rOrder.SimId      = dbReader.GetInt32(dbReader.GetOrdinal(COL_SIM_ID));
                rOrder.KhachHang  = new CustomerRepository(DbFactory).Find(rOrder.MaKH);
                rOrder.SIM        = new SimRepository(DbFactory).Find(rOrder.SimId);

                return(rOrder);
            }
            catch (Exception)
            {
            }

            return(new PhieuMua());
        }
Пример #3
0
        public int DeleteByCustomer(int CustomerId)
        {
            PhieuMua order = orders.Where(x => x.MaKH == CustomerId).SingleOrDefault();

            orders.Remove(order);

            return(1);
        }
Пример #4
0
 public IHttpActionResult Put([FromBody]  PhieuMua x)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest("Not a valid data"));
     }
     PhieuMuaDAO.Instance.Update(x.MaPM, x.NgayLap, x.MaNV, x.GhiChu);
     return(Ok());
 }
Пример #5
0
 public IHttpActionResult Post([FromBody] PhieuMua x)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest("Not a valid model"));
     }
     //(string MaPM, string NgayLap, string MaNV, string GhiChu)
     PhieuMuaDAO.Instance.Create(x.MaPM, x.NgayLap, x.MaNV, x.GhiChu);
     return(Ok());
 }
Пример #6
0
        public ActionResult Edit(PhieuMua OldOrder)
        {
            if (IsNotLogin())
            {
                return(View(MUST_LOGIN_AREA));
            }

            if (OldOrder.MaPM == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            IEnumerable <SIM> dbsSIM = Db.SIM.All;

            if (!ModelState.IsValid)
            {
                ViewBag.SimId     = new SelectList(dbsSIM, "SimId", "SoThueBao", OldOrder.SimId);
                ViewBag.KhachHang = Db.Customer.Find(OldOrder.MaKH);

                return(View(OldOrder));
            }

            if (!Db.Order.IsTheSame(OldOrder.MaPM, OldOrder.SimId) && Db.Order.IsOrdered(OldOrder.SimId))
            {
                ViewBag.FailMsg   = "SIM này đã được đặt hàng";
                ViewBag.SimId     = new SelectList(dbsSIM, "SimId", "SoThueBao", OldOrder.SimId);
                ViewBag.KhachHang = Db.Customer.Find(OldOrder.MaKH);

                return(View(OldOrder));
            }

            PhieuMua dbOrder = Db.Order.Find(OldOrder.MaPM);

            if (dbOrder.MaPM == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            //Update sim ordered before
            dbOrder.SIM.TinhTrang = SIM.AVAILABLE;
            Db.SIM.Save(dbOrder.SIM);
            Db.Customer.UpdateOrderAmount(dbOrder.MaKH, false);

            //Update sim ordered currently
            SIM newOrderSIM = Db.SIM.Find(OldOrder.SimId);

            newOrderSIM.TinhTrang = SIM.NOT_PAID;
            Db.SIM.Save(newOrderSIM);
            Db.Customer.UpdateOrderAmount(OldOrder.MaKH, true);

            Db.Order.Save(OldOrder);

            return(RedirectToAction("Index"));
        }
Пример #7
0
        public List <PhieuMua> GetList()
        {
            List <PhieuMua> list = new List <PhieuMua>();
            DataTable       data = DataProvider.Instance.ExecuteQuery("SELECT * FROM dbo.PHIEUMUA");

            foreach (DataRow item in data.Rows)
            {
                PhieuMua obj = new PhieuMua(item);
                list.Add(obj);
            }
            return(list);
        }
Пример #8
0
        public ActionResult Order(SIM sim)
        {
            if (IsNotLogin())
            {
                return(View(MUST_LOGIN_AREA));
            }

            if (sim.SimId == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            if (Db.Order.IsCustomerOutOfOrderTimes(base.MaKH))
            {
                ViewBag.IsOrderReachLimit = true;

                return(View());
            }
            else if (Db.Order.IsOrdered(sim.SimId))
            {
                ViewBag.IsSIMOrdered = true;

                return(View());
            }

            SIM dbSIM = Db.SIM.Find(sim.SimId);

            if (dbSIM.SimId == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            PhieuMua newOrder = new PhieuMua();

            newOrder.SimId = dbSIM.SimId;
            newOrder.MaKH  = MaKH;

            if (Db.Order.LittleSave(newOrder) <= 0)
            {
                return(RedirectToAction("OrderError"));
            }

            dbSIM.TinhTrang = SIM.NOT_PAID;

            Db.SIM.Save(dbSIM);

            Db.Customer.UpdateOrderAmount(base.MaKH, Increase: true);

            return(RedirectToAction("OrderSuccess"));
        }
Пример #9
0
        public int LittleSave(PhieuMua Order)
        {
            try
            {
                return(DbContext.NonRecord("insertPhieuMuaLittle",
                                           new SqlParameter(PARAM_MA_KH, Order.MaKH),
                                           new SqlParameter(PARAM_SIM_ID, Order.SimId)
                                           ));
            }
            catch (Exception)
            {
            }

            return(-1);
        }
Пример #10
0
        //
        // GET: /Admin/Order/Details/5

        public ViewResult Details(int id)
        {
            if (IsNotLogin())
            {
                return(View(MUST_LOGIN_AREA));
            }

            PhieuMua dbOrder = Db.Order.Find(id);

            if (dbOrder.MaPM == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            return(View(dbOrder));
        }
Пример #11
0
        public ActionResult Create(PhieuMua NewOrder)
        {
            if (IsNotLogin())
            {
                return(View(MUST_LOGIN_AREA));
            }

            IEnumerable <SIM>       dbsSIM      = Db.SIM.All;
            IEnumerable <KhachHang> dbsCustomer = Db.Customer.All;

            if (!ModelState.IsValid)
            {
                ViewBag.SimId = new SelectList(dbsSIM, "SimId", "SoThueBao", NewOrder.SimId);
                ViewBag.MaKH  = new SelectList(dbsCustomer, "MaKH", "TenKH", NewOrder.MaKH);

                return(View(NewOrder));
            }

            if (Db.Order.IsOrdered(NewOrder.SimId))
            {
                ViewBag.FailMsg = "SIM này đã được đặt hàng";
                ViewBag.SimId   = new SelectList(dbsSIM, "SimId", "SoThueBao", NewOrder.SimId);
                ViewBag.MaKH    = new SelectList(dbsCustomer, "MaKH", "TenKH", NewOrder.MaKH);

                return(View(NewOrder));
            }

            if (Db.Order.Save(NewOrder) <= 0)
            {
                ViewBag.FailMsg = "Có lỗi trong quá trình xử lý";
                ViewBag.SimId   = new SelectList(dbsSIM, "SimId", "SoThueBao", NewOrder.SimId);
                ViewBag.MaKH    = new SelectList(dbsCustomer, "MaKH", "TenKH", NewOrder.MaKH);

                return(View(NewOrder));
            }

            SIM dbSIM = Db.SIM.Find(NewOrder.SimId);

            dbSIM.TinhTrang = SIM.NOT_PAID;

            Db.SIM.Save(dbSIM);
            Db.Customer.UpdateOrderAmount(NewOrder.MaKH, true);

            return(RedirectToAction("Index"));
        }
Пример #12
0
        public int Save(Entities.PhieuMua Entity)
        {
            if (Entity.MaPM != 0)
            {
                PhieuMua original = Find(Entity.MaPM);
                original.NgayDatMua = Entity.NgayDatMua;
                original.NgayGiao   = Entity.NgayGiao;
                original.TongTien   = Entity.TongTien;
                original.SimId      = Entity.SimId;

                return(1);
            }

            int countBefore = orders.Count;

            orders.Add(Entity);

            return(orders.Count - countBefore);
        }
Пример #13
0
        //
        // GET: /Admin/Order/Edit/5

        public ActionResult Edit(int id)
        {
            if (IsNotLogin())
            {
                return(View(MUST_LOGIN_AREA));
            }

            PhieuMua dbOrder = Db.Order.Find(id);

            if (dbOrder.MaPM == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            ViewBag.SimId     = new SelectList(Db.SIM.All, "SimId", "SoThueBao", dbOrder.SimId);
            ViewBag.KhachHang = Db.Customer.Find(dbOrder.MaKH);

            return(View(dbOrder));
        }
Пример #14
0
        public int OrderCancel(int id)
        {
            if (IsNotLogin())
            {
                return(-1);
            }

            PhieuMua dbOrder = Db.Order.FindOrderOfCustomerBySIM(base.MaKH, id);

            if (Db.Order.Delete(dbOrder.MaPM) > 0)
            {
                dbOrder.SIM.TinhTrang = SIM.AVAILABLE;
                Db.SIM.Save(dbOrder.SIM);
                Db.Customer.UpdateOrderAmount(base.MaKH, Increase: false);

                return(Db.Order.FindCustomerOrderSIMs(base.MaKH).Count());
            }

            return(-1);
        }
Пример #15
0
        public IEnumerable <PhieuMua> FindOrdersByCustomer(int CustomerId)
        {
            try
            {
                DbDataReader dbReader = DbContext.RecordSets("findPhieuMuaOrderdByMaKH",
                                                             new SqlParameter(PARAM_MA_KH, CustomerId),
                                                             new SqlParameter(SimRepository.PARAM_TINH_TRANG, "")
                                                             );

                if (!dbReader.HasRows)
                {
                    return(new List <PhieuMua>());
                }

                PhieuMua        rOrder;
                List <PhieuMua> rsOrders = new List <PhieuMua>();

                while (dbReader.Read())
                {
                    rOrder            = new PhieuMua();
                    rOrder.MaPM       = dbReader.GetInt32(dbReader.GetOrdinal(COL_MA_PM));
                    rOrder.NgayDatMua = dbReader.GetDateTime(dbReader.GetOrdinal(COL_NGAY_DAT));
                    rOrder.NgayGiao   = dbReader.GetDateTime(dbReader.GetOrdinal(COL_NGAY_GIAO));
                    rOrder.TongTien   = dbReader.GetDecimal(dbReader.GetOrdinal(COL_TONG_TIEN));
                    rOrder.MaKH       = dbReader.GetInt32(dbReader.GetOrdinal(COL_MA_KH));
                    rOrder.SimId      = dbReader.GetInt32(dbReader.GetOrdinal(COL_SIM_ID));
                    rOrder.KhachHang  = new CustomerRepository(DbFactory).Find(rOrder.MaKH);
                    rOrder.SIM        = new SimRepository(DbFactory).Find(rOrder.SimId);

                    rsOrders.Add(rOrder);
                }

                return(rsOrders);
            }
            catch (Exception)
            {
            }

            return(new List <PhieuMua>());
        }
Пример #16
0
        public bool PutPhieuMua(PhieuMua pm)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseAddress);

                //HTTP POST
                var postTask = client.PutAsJsonAsync <PhieuMua>("phieumua", pm);
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    ListPhieuMua = GetListPhieuMua();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Пример #17
0
        public bool DeletePhieuMua(PhieuMua pm)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseAddress);

                //HTTP POST
                var postTask = client.DeleteAsync("phieumua?MaPM=" + pm.MaPM);
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    ListPhieuMua = GetListPhieuMua();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Пример #18
0
        public ActionResult Checkout(int id)
        {
            if (IsNotLogin())
            {
                return(View(MUST_LOGIN_AREA));
            }

            PhieuMua dbOrder = Db.Order.Find(id);

            if (dbOrder.MaPM == 0)
            {
                throw new HttpException(404, String.Empty);
            }

            dbOrder.SIM.TinhTrang = SIM.SOLD;

            Db.SIM.Save(dbOrder.SIM);
            Db.Customer.UpdateOrderAmount(dbOrder.MaKH, true);
            Db.Order.Delete(id);

            return(RedirectToAction("Index"));
        }
Пример #19
0
 public int LittleSave(PhieuMua Order)
 {
     return(_orderRepository.LittleSave(Order));
 }
Пример #20
0
 public int Save(PhieuMua Order)
 {
     return(_orderRepository.Save(Order));
 }