Пример #1
0
        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"));
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
                }
            }
        }