Esempio n. 1
0
        public IActionResult Duyet(int maHD)
        {
            bool check         = true;
            var  chiTietHoaDon = _mb.ChiTietHoaDon.Where(ct => ct.MaHD == maHD).ToList();

            if (ModelState.IsValid)
            {
                string location = "";
                foreach (var chiTiet in chiTietHoaDon)
                {
                    for (int i = 0; i < chiTiet.SoLuong; i++)
                    {
                        location = chiTiet.MaDT.ToString() + i.ToString();
                        string IMEI = Request.Form[location];
                        if (_mb.IMEI_DienThoai.Where(im => im.IMEI == IMEI).SingleOrDefault() != null)
                        {
                            check = false;
                            TempData[location] = "Trùng IMEI vui lòng thử lại";
                        }
                        else
                        {
                            TempData[location] = IMEI;
                            _mb.SaveChangesAsync();
                        }
                    }
                }
                try
                {
                    if (!check)
                    {
                        throw new Exception();
                    }
                    foreach (var chiTiet in chiTietHoaDon)
                    {
                        for (int i = 0; i < chiTiet.SoLuong; i++)
                        {
                            location = chiTiet.MaDT.ToString() + i.ToString();
                            string         IMEI           = Request.Form[location];
                            IMEI_DienThoai iMEI_DienThoai = new IMEI_DienThoai()
                            {
                                IMEI = IMEI,
                                MaDT = chiTiet.MaDT,
                                MaHD = chiTiet.MaHD
                            };
                            _mb.Add(iMEI_DienThoai);
                        }
                    }
                    _mb.SaveChangesAsync();
                    return(RedirectToAction(nameof(Index)));
                }
                catch
                {
                    TempData["message"] = "Fail";
                    TempData.Keep();
                    TempData[location] = "Trùng IMEI vui lòng thử lại";
                    return(RedirectToAction("Duyet", new { maHD }));
                }
            }
            return(RedirectToAction("Duyet", new { maHD }));
        }
        public async Task <IActionResult> EditOrCreate(string id)
        {
            bool check = true;

            if (ModelState.IsValid)
            {
                CTHoaDonViewIMEIVM.chiTietHoaDon = await _mb.ChiTietHoaDon.SingleOrDefaultAsync(ct => (ct.MaHD.ToString() + ct.MaDT.ToString()).Equals(id));

                CTHoaDonViewIMEIVM.iMEI_DienThoais = await _mb.IMEI_DienThoai.Where(ct => (ct.MaHD.ToString() + ct.MaDT.ToString()).Equals(id)).ToListAsync();

                foreach (var im in CTHoaDonViewIMEIVM.iMEI_DienThoais)
                {
                    _mb.Attach(im);
                    _mb.Remove(im);
                }
                string location = "";
                for (int i = 0; i < CTHoaDonViewIMEIVM.chiTietHoaDon.SoLuong; i++)
                {
                    location = CTHoaDonViewIMEIVM.chiTietHoaDon.MaDT.ToString() + i.ToString();
                    string IMEI = Request.Form[location];

                    if (_mb.IMEI_DienThoai.Where(im => (im.IMEI == IMEI) && !(im.MaHD.ToString() + im.MaDT.ToString()).Equals(id)).SingleOrDefault() != null)
                    {
                        check = false;
                        TempData[location] = "Trùng IMEI vui lòng thử lại";
                    }
                    else
                    {
                        TempData[location] = IMEI;
                    }
                }

                try
                {
                    if (!check)
                    {
                        throw new Exception();
                    }
                    for (int i = 0; i < CTHoaDonViewIMEIVM.chiTietHoaDon.SoLuong; i++)
                    {
                        location = CTHoaDonViewIMEIVM.chiTietHoaDon.MaDT.ToString() + i.ToString();
                        string IMEI = Request.Form[location];



                        IMEI_DienThoai iMEI_DienThoai = new IMEI_DienThoai()
                        {
                            IMEI = IMEI,
                            MaDT = CTHoaDonViewIMEIVM.chiTietHoaDon.MaDT,
                            MaHD = CTHoaDonViewIMEIVM.chiTietHoaDon.MaHD
                        };
                        _mb.Add(iMEI_DienThoai);
                    }
                    await _mb.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                catch
                {
                    TempData["message"] = "Fail";
                    TempData[location]  = "Trùng IMEI vui lòng thử lại";
                    return(RedirectToAction("Edit", new { id }));
                }
            }
            return(RedirectToAction("Edit", new { id }));
        }