예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
                }
            }
        }