public ActionResult ThanhToan() { var sessionCart = (ShoppingCart)Session[CommonConstant.CartSession]; var sessionUser = (UserLogin)Session[CommonConstant.USER_SESSION]; ApplicationDbContext context = new ApplicationDbContext(); List <ChiTietXuatKho> lstXuatKho = new List <ChiTietXuatKho>(); foreach (ShoppingCartItem x in sessionCart.lstItems) { ChiTietXuatKho chiTietXuatKho = new ChiTietXuatKho(); chiTietXuatKho.ChiTietXuatKhoID = 0; chiTietXuatKho.SanPhamID = x.SanPhamID; chiTietXuatKho.SoLuong = x.SoLuong; chiTietXuatKho.TongTien = x.ThanhTien(); lstXuatKho.Add(chiTietXuatKho); } XuatKho xuatKho = new XuatKho() { XuatKhoID = 0, UserID = (int)sessionUser.UserID, ChiTietXuatKhoes = lstXuatKho, NgayXuat = DateTime.UtcNow }; context.XuatKhoes.Add(xuatKho); context.SaveChanges(); context.Dispose(); sessionCart.EmtyCart(); return(RedirectToAction("Index", "Home")); }
public async Task <ResponseData> LayChiTietPhieuXuatKho(int phieuXuatId) { try { string url = string.Format("{0}/api/export/get-detail/{1}", Config.HOST, phieuXuatId); var client = new RestSharp.RestClient(url); var request = new RestSharp.RestRequest(Method.GET); request.AddHeader("content-type", "application/json; charset=utf-8"); request.AddHeader("x-access-token", UserResponse.AccessToken); var response = await client.ExecuteTaskAsync(request); var responseParse = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(response.Content); if (response.StatusCode == System.Net.HttpStatusCode.OK) { var data = responseParse["data"]; XuatKho xuatKho = Newtonsoft.Json.JsonConvert.DeserializeObject <XuatKho>(data.ToString()); Kho kho = new Kho() { Id = data["IdKho"], Ten = data["TenKho"] }; NhanVien nhanVien = new NhanVien() { Id = data["IdNhanVien"], Ten = data["TenNhanVien"] }; xuatKho.NhanVien = nhanVien; xuatKho.Kho = kho; var danhSachVatTuJson = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(data["DanhSachVatTu"].ToString()); List <ChiTietXuatKho> listChiTietXuatKho = new List <ChiTietXuatKho>(); foreach (var item in danhSachVatTuJson) { ChiTietXuatKho chiTiet = Newtonsoft.Json.JsonConvert.DeserializeObject <ChiTietXuatKho>(item.ToString()); VatTu vatTu = new VatTu() { Id = item["IdVatTu"], Ten = item["TenVatTu"] }; chiTiet.VatTu = vatTu; chiTiet.XuatKho = xuatKho; listChiTietXuatKho.Add(chiTiet); } return(new ResponseData() { Status = Config.CODE_OK, Data = listChiTietXuatKho, Message = "" }); } else { return(Util.GenerateErrorResponse(response, responseParse)); } } catch (Exception ex) { return(null); } }
private async void btnLuu_Click(object sender, EventArgs e) { XuatKho xuatKho = new XuatKho() { Ma = txtMa.Text, NgayXuat = dtpNgayNhap.Value, GhiChu = txtGhiChu.Text, DiaChi = txtDiaChi.Text, NhanVien = new NhanVien() { Id = (int)cboNhanVien.SelectedValue }, Kho = new Kho() { Id = (int)cboKho.SelectedValue }, Id = idPhieuXuat, }; List <VatTuNhapXuat> listVatTu = new List <VatTuNhapXuat>(); for (int i = 0; i < dgvVatTu.Rows.Count; i++) { var dr = dgvVatTu.Rows[i]; VatTuNhapXuat vatTu = new VatTuNhapXuat() { Id = (int)dr.Cells["Id"].Value, GhiChu = (string)dr.Cells["GhiChu"].Value, SoLuong = (int)dr.Cells["SoLuong"].Value }; if (vatTu.SoLuong > 0) { listVatTu.Add(vatTu); } } if (xuatKho.Id != 0) { // Call update var result = await XuatKhoService.CapNhatPhieuXuatKho(xuatKho, listVatTu); if (result != null && result.Status == Config.CODE_OK) { MessageBoxEx.Show("Cập nhật phiếu xuất kho thành công", "Thông báo"); txtTongTien.Text = ((decimal)result.Data).ToString(); LoadChiTietPhieuXuat(idPhieuXuat); LoadDanhSachVatTu(xuatKho.Kho.Id); } else { MessageBoxEx.Show("Cập nhật phiếu xuất kho thất bại", "Thông báo"); ChiTietXuatKho chiTiet = listChiTietXuatKho.SingleOrDefault(x => x.XuatKho.Id == ucXuatKho.idPhieuXuat); if (chiTiet != null) { xuatKho = chiTiet.XuatKho; txtMa.Text = xuatKho.Ma; txtGhiChu.Text = xuatKho.GhiChu; txtTongTien.Text = xuatKho.TongTien.ToString(); dtpNgayNhap.Value = xuatKho.NgayXuat; cboKho.Text = xuatKho.Kho.Ten; txtDiaChi.Text = xuatKho.DiaChi; cboNhanVien.Text = xuatKho.NhanVien.Ten; LoadDanhSachVatTu(xuatKho.Kho.Id); } } } else { // Caal add new var result = await XuatKhoService.ThemMoiPhieuXuatKho(xuatKho, listVatTu); if (result != null && result.Status == Config.CODE_OK) { MessageBoxEx.Show("Thêm mới phiếu xuất kho thành công", "Thông báo"); InforXuatKho infor = (InforXuatKho)result.Data; txtTongTien.Text = ((decimal)infor.totalPrice).ToString(); LoadChiTietPhieuXuat(infor.receiptId); LoadDanhSachVatTu(xuatKho.Kho.Id); idPhieuXuat = infor.receiptId; } else { MessageBoxEx.Show("Thêm mới phiếu xuất kho thất bại", "Thông báo"); LoadDanhSachVatTu(xuatKho.Kho.Id); } } }