コード例 #1
0
        public IHttpActionResult PostDonHang(DonHang donHang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var giadonhang = new GiaDonHang();
            var khachhang  = db.KhachHang.SingleOrDefault(x => x.Id == donHang.KhachHangId);

            donHang.DonHangChiTiets.Count();

            donHang.ThoiGianDat = DateTime.Now;
            donHang.DaNhan      = false;
            db.DonHang.Add(donHang);
            db.SaveChanges();
            db.Entry(donHang).State = EntityState.Modified;
            donHang.Ma           = donHang.Id.ToString();
            giadonhang.DonHangId = donHang.Id;
            var    ncu      = db.NhaCungUng.SingleOrDefault(x => x.Id == donHang.NCUId);
            double tongtien = 0;

            string     donhangchitiet = "";
            List <int> list           = new List <int>();
            var        m = db.DonHangChiTiet.Where(x => x.DonHangId == donHang.Id);
            long       n = m.Count();

            foreach (DonHangChiTiet x in m)
            {
                list.Add(x.Id);
            }
            for (int i = 0; i < list.Count(); i++)
            {
                tongtien = tongtien + db.DonHangChiTiet.Find(list[i]).Gia;
            }
            giadonhang.TongTien  = tongtien;
            giadonhang.PhiDichVu = 5000;
            db.GiaDonHang.Add(giadonhang);
            db.SaveChanges();
            for (int i = 0; i < list.Count(); i++)
            {
                donhangchitiet = donhangchitiet + "Tên thực phẩm:" + db.DonHangChiTiet.Find(list[i]).TenThucPham +
                                 "\nSố lượng:" + db.DonHangChiTiet.Find(list[i]).SoLuong + "/kg" +
                                 "\nGiá tiền:" + db.DonHangChiTiet.Find(list[i]).Gia + "/VND" + "\n";
            }
            string noidung = "";

            noidung = "Đơn hàng " + donHang.Id + " từ khách hàng có mã là: " + khachhang.Id + "\nVới đơn hàng như sau:\n" + donhangchitiet + "Tổng số tiền là: " + tongtien +
                      "Khách hàng yêu cầu thực phẩm được mua ở: Siêu thị A";
            FindShipper.LookingForShipper(donHang.X, donHang.Y, noidung, "YeuCauNhanDonHang-" + donHang.Id, donHang.Id, khachhang.Id);
            string noidung1 = "Bạn vừa đặt thành công đơn hàng:\n" +
                              "Họ tên: " + khachhang.Ten +
                              "\nChi tiết sản phẩm:\n" + donhangchitiet +
                              "Tổng số tiền là: " + tongtien +
                              "\nYêu cầu thực phẩm được mua ở: Siêu thị A";

            SendNotification.SendNotifications(noidung1, "DatHangThanhCong", khachhang.Id);
            return(Json(donHang.Id));
        }
コード例 #2
0
        public IHttpActionResult PostNhanDonHang(NhanDonHang nhanDonHang)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var donhang          = db.DonHang.SingleOrDefault(x => x.Id == nhanDonHang.DonHangId);
            var nguoidicho       = db.NguoiDiCho.SingleOrDefault(x => x.Id == nhanDonHang.NguoiDiChoId);
            var nguoidichoOnline = db.NguoiDiChoOnline.SingleOrDefault(y => y.Id == nguoidicho.Id);

            if (nhanDonHang.Status == true)
            {
                nhanDonHang.ThoiGianNhan = DateTime.Now;
                db.NhanDonHang.Add(nhanDonHang);
                db.SaveChanges();
                string noidung = "Đơn hàng số " + nhanDonHang.DonHangId + "của bạn đã được Người đi chợ số " + nhanDonHang.NguoiDiChoId + "chấp nhận."
                                 + "\nThông tin chi tiết Người đi chợ: "
                                 + "\nHọ tên: " + nguoidicho.Ten
                                 + "\nSĐT: " + nguoidicho.SDT;
                Common.SendNotification.SendNotifications(noidung, "NhanDonHang", donhang.KhachHangId);
                nguoidicho.TaiKhoan = nguoidicho.TaiKhoan - 5000;
                string trutaikhoan = "Tài khoản của bạn đã bị trừ 5000đ phí dịch vụ vì bạn đã nhận thực hiện đơn hàng số " + nhanDonHang.DonHangId;
                SendNotification.SendNotifications(trutaikhoan, "TruTaiKhoan", nguoidicho.Id);
            }
            if (nhanDonHang.Status == false)
            {
                try
                {
                    db.Entry(nguoidichoOnline).State = EntityState.Modified;
                    nguoidichoOnline.Refuse          = nhanDonHang.DonHangId;
                    db.SaveChanges();
                    var        ncu            = db.NhaCungUng.SingleOrDefault(x => x.Id == donhang.NCUId);
                    string     donhangchitiet = "";
                    List <int> list           = new List <int>();
                    var        m        = db.DonHangChiTiet.Where(x => x.DonHangId == donhang.Id);
                    long       n        = m.Count();
                    double     tongtien = 0;
                    foreach (DonHangChiTiet x in m)
                    {
                        list.Add(x.Id);
                    }
                    for (int i = 0; i < list.Count(); i++)
                    {
                        donhangchitiet = donhangchitiet + "Tên thực phẩm:" + db.DonHangChiTiet.Find(list[i]).TenThucPham +
                                         "\nSố lượng:" + db.DonHangChiTiet.Find(list[i]).SoLuong + "/kg" +
                                         "\nGiá tiền:" + db.DonHangChiTiet.Find(list[i]).Gia + "/VND" + "\n";
                    }
                    for (int i = 0; i < list.Count(); i++)
                    {
                        tongtien = tongtien + db.DonHangChiTiet.Find(list[i]).Gia;
                    }
                    string noidung = "";
                    noidung = "Đơn hàng " + donhang.Id + " từ khách hàng có mã là: " + donhang.KhachHangId + "\nVới đơn hàng như sau:\n"
                              + donhangchitiet + "Tổng số tiền là: " + tongtien +
                              "\nKhách hàng yêu cầu thực phẩm được mua ở: Siêu thị A";
                    FindShipper.LookingForShipper(donhang.X, donhang.Y, noidung, "YeuCauNhanDonHang-" + donhang.Id, donhang.Id, donhang.KhachHangId);
                }
                catch (Exception ex)
                {
                    return(Json("Không tìm được người đi chợ thích hợp"));
                }
            }


            return(Json("Nhận đơn hàng thành công"));
            //try
            //{
            //    db.SaveChanges();
            //}
            //catch (DbUpdateException)
            //{
            //    if (NhanDonHangExists(nhanDonHang.Id))
            //    {
            //        return Conflict();
            //    }
            //    else
            //    {
            //        throw;
            //    }
            //}

            //return CreatedAtRoute("DefaultApi", new { id = nhanDonHang.Id }, nhanDonHang);
        }