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)); }
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); }