public JsonResult ajax_edit_dathang(TaoDonHangVM model)
        {
            rs r = rs.T("Ok");

            using (var tx = new TransactionScope())
            {
                try
                {
                    var donhang = __db.DonHangs.Find(model.DonHangId);
                    donhang.Ban                  = model.Ban;
                    donhang.GhiChuDonHang        = model.GhiChu;
                    donhang.TrangThaiGiaoHangId  = model.TrangThaiGiaoHangId;
                    donhang.TrangThaiThanhToanId = model.TrangThaiThanhToanId;
                    donhang.HinhThucMuaHangId    = model.HinhThucMuaHangId;
                    donhang.ModifiedDate         = DateTime.Now;
                    donhang.TongTienHang         = model.GioHang.Sum(s => (int?)(s.Price * s.SoLuong)) ?? 0;

                    donhang.SDT            = model.SDT;
                    donhang.YeuCauKhac     = model.YeuCauKhac;
                    donhang.DiaChiGiaoHang = model.DiaChiGiaoHang;

                    __db.SaveChanges();
                    // Delete children
                    var itemsToDelete = __db.CTDonHangs.Where(x => x.DonHangID == model.DonHangId);
                    __db.CTDonHangs.RemoveRange(itemsToDelete);
                    __db.SaveChanges();

                    List <CTDonHang> lst = new List <CTDonHang>();
                    foreach (var item in model.GioHang)
                    {
                        lst.Add(new CTDonHang()
                        {
                            DonGia    = item.Price,
                            SoLuong   = item.SoLuong,
                            ThucDonId = item.ThucDonId,
                            SanPhamId = item.ProductId,
                            ThanhTien = item.ThanhTien,
                            DonHangID = model.DonHangId,
                            GiaId     = item.GiaId,
                            TenGia    = item.TenGia,
                        });
                    }
                    __db.CTDonHangs.AddRange(lst);
                    __db.SaveChanges();
                    r = rs.T("Cập nhật đơn hàng thành công!");
                    tx.Complete();
                }
                catch (Exception ex)
                {
                    r = rs.F("Lỗi: " + ex.Message);
                }
            }
            return(Json(r, JsonRequestBehavior.DenyGet));
        }
Beispiel #2
0
        public JsonResult ajax_dathang(TaoDonHangVM model)
        {
            var __auth = MySsAuthUsers.GetAuth();
            rs  r      = rs.T("Ok");

            try
            {
                var     __user = __db.Users.Find(__auth.ID);
                DonHang dh     = new DonHang();
                dh.GhiChuDonHang = model.GhiChu;
                //dh.BanId = model.BanId != -1 ? model.BanId : null;
                dh.QuanId = model.QuanId;
                dh.TrangThaiGiaoHangId  = model.TrangThaiGiaoHangId;
                dh.TrangThaiThanhToanId = model.TrangThaiThanhToanId;
                dh.UserId       = __auth.ID;
                dh.BaseUserId   = __user.OwnerId != null?__user.OwnerId.Value:__auth.ID;
                dh.CTDonHangs   = new Collection <CTDonHang>();
                dh.TongTienHang = model.GioHang.Sum(s => s.Price * s.SoLuong);

                dh.Ban = model.Ban;

                foreach (var item in model.GioHang)
                {
                    dh.CTDonHangs.Add(new CTDonHang()
                    {
                        SanPhamId = item.ProductId,
                        DonGia    = item.Price,
                        ThanhTien = item.ThanhTien,
                        SoLuong   = item.SoLuong,
                    });
                }

                //save
                __db.DonHangs.Add(dh);
                __db.SaveChanges();
            }
            catch (Exception ex)
            {
                r = rs.F(ex.Message);
            }
            return(Json(r, JsonRequestBehavior.DenyGet));
        }
        public JsonResult ajax_dathang(TaoDonHangVM model)
        {
            var __auth = MySsAuthUsers.GetAuth();
            rs  r      = rs.T("Ok");

            try
            {
                var BanArr = new List <int>();
                var quan   = __db.Quan.FirstOrDefault(f => f.Id == model.QuanId);
                if (!string.IsNullOrWhiteSpace(quan.BanArr))
                {
                    try
                    {
                        BanArr = quan.BanArr.Split(',').Select(Int32.Parse).Distinct().ToList();
                    }
                    catch
                    {
                    }
                }

                /*if (!BanArr.Contains(model.Ban))
                 * {
                 *  throw new Exception("Số Bàn nhập không tồn tại trong quán " + quan.TenQuan + ", vui lòng thử lại!");
                 * }*/


                var     __user = __db.Users.Find(__auth.ID);
                DonHang dh     = new DonHang();
                dh.GhiChuDonHang = model.GhiChu;
                //dh.BanId = model.BanId != -1 ? model.BanId : null;
                dh.QuanId = model.QuanId;
                dh.TrangThaiGiaoHangId  = model.TrangThaiGiaoHangId;
                dh.TrangThaiThanhToanId = model.TrangThaiThanhToanId;
                dh.HinhThucMuaHangId    = model.HinhThucMuaHangId;
                dh.UserId       = __auth.ID;
                dh.BaseUserId   = __user.OwnerId != null ? __user.OwnerId.Value : __auth.ID;
                dh.CTDonHangs   = new Collection <CTDonHang>();
                dh.TongTienHang = model.GioHang.Sum(s => s.Price * s.SoLuong);
                dh.Ban          = model.Ban;



                dh.SDT            = model.SDT;
                dh.YeuCauKhac     = model.YeuCauKhac;
                dh.DiaChiGiaoHang = model.DiaChiGiaoHang;

                foreach (var item in model.GioHang)
                {
                    dh.CTDonHangs.Add(new CTDonHang()
                    {
                        SanPhamId = item.ProductId,
                        DonGia    = item.Price,
                        ThanhTien = item.ThanhTien,
                        SoLuong   = item.SoLuong,
                        ThucDonId = item.ThucDonId,
                        GiaId     = item.GiaId,
                        TenGia    = item.TenGia,
                    });
                }

                //save
                __db.DonHangs.Add(dh);
                __db.SaveChanges();
            }
            catch (Exception ex)
            {
                r = rs.F(ex.Message);
            }
            return(Json(r, JsonRequestBehavior.DenyGet));
        }