public async Task <ResponseData> ThemMoiPhieuNhapKho(NhapKho phieuNhap, List <VatTuNhapXuat> listVatTu) { try { string url = string.Format("{0}/api/import/add-new-receipt", Config.HOST); var client = new RestSharp.RestClient(url); var request = new RestSharp.RestRequest(Method.POST); request.AddHeader("content-type", "application/json; charset=utf-8"); request.AddHeader("x-access-token", UserResponse.AccessToken); request.AddJsonBody(new { Ma = phieuNhap.Ma, NgayNhap = phieuNhap.NgayNhap, IdNhaCungCap = phieuNhap.NhaCungCap.Id, IdNhanVien = phieuNhap.NhanVien.Id, IdKho = phieuNhap.Kho.Id, GhiChu = phieuNhap.GhiChu, listProduct = listVatTu.Select(x => new { x.Id, x.SoLuong, x.GhiChu }).ToList() }); 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"]; InforNhapKho inforNhapKho = Newtonsoft.Json.JsonConvert.DeserializeObject <InforNhapKho>(data.ToString()); return(new ResponseData() { Status = Config.CODE_OK, Data = inforNhapKho, Message = "" }); } else { return(Util.GenerateErrorResponse(response, responseParse)); } } catch (Exception ex) { return(null); } }
private async void btnLuu_Click(object sender, EventArgs e) { NhapKho nhapKho = new NhapKho() { Ma = txtMa.Text, NgayNhap = dtpNgayNhap.Value, GhiChu = txtGhiChu.Text, NhanVien = new NhanVien() { Id = (int)cboNhanVien.SelectedValue }, NhaCungCap = new NhaCungCap() { Id = (int)cboNhaCungCap.SelectedValue }, Kho = new Kho() { Id = (int)cboKho.SelectedValue }, Id = ucNhapKho.idPhieuNhap }; 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 (nhapKho.Id != 0) { // Call update var result = await NhapKhoService.CapNhatPhieuNhapKho(nhapKho, listVatTu); if (result != null && result.Status == Config.CODE_OK) { MessageBoxEx.Show("Cập nhật phiếu nhập kho thành công", "Thông báo"); txtTongTien.Text = ((decimal)result.Data).ToString(); LoadChiTietPhieuNhap(ucNhapKho.idPhieuNhap); LoadDanhSachVatTu(nhapKho.NhaCungCap.Id); } else { MessageBoxEx.Show("Cập nhật phiếu nhập kho thất bại", "Thông báo"); ChiTietNhapKho chiTiet = listChiTietNhapKho.SingleOrDefault(x => x.NhapKho.Id == ucNhapKho.idPhieuNhap); if (chiTiet != null) { nhapKho = chiTiet.NhapKho; txtMa.Text = nhapKho.Ma; txtGhiChu.Text = nhapKho.GhiChu; txtTongTien.Text = nhapKho.TongTien.ToString(); dtpNgayNhap.Value = nhapKho.NgayNhap; cboKho.Text = nhapKho.Kho.Ten; cboNhaCungCap.Text = nhapKho.NhaCungCap.Ten; cboNhanVien.Text = nhapKho.NhanVien.Ten; LoadDanhSachVatTu(nhapKho.NhaCungCap.Id); } } } else { // Call add new var result = await NhapKhoService.ThemMoiPhieuNhapKho(nhapKho, listVatTu); if (result != null && result.Status == Config.CODE_OK) { MessageBoxEx.Show("Thêm mới phiếu nhập kho thành công", "Thông báo"); InforNhapKho infor = (InforNhapKho)result.Data; txtTongTien.Text = ((decimal)infor.totalPrice).ToString(); LoadChiTietPhieuNhap(infor.receiptId); LoadDanhSachVatTu(nhapKho.NhaCungCap.Id); ucNhapKho.idPhieuNhap = infor.receiptId; } else { MessageBoxEx.Show("Thêm mới phiếu nhập kho thất bại", "Thông báo"); LoadDanhSachVatTu(nhapKho.NhaCungCap.Id); } } }