Exemple #1
0
        public void CopyTonKhoToClipboard(bool?isHangNhaLam)
        {
            if (_NgayFilter.IsUsed == false || _MaKhoHangFilter.IsUsed == false)
            {
                return;
            }

            var qe = new QueryBuilder.QueryExpression();

            if (isHangNhaLam.HasValue)
            {
                qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionBool, bool>(
                    QueryBuilder.WhereExpression.Equal,
                    string.Format("{0}Navigation.{1}", nameof(TMatHangDto.MaLoai), nameof(RLoaiHangDto.HangNhaLam))
                    , isHangNhaLam.Value);
            }
            var matHangs = ServiceLocator.Instance.GetInstance <IDataService <TMatHangDto> >().Get(qe).Items;

            qe = new QueryBuilder.QueryExpression();

            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionInt, int>(
                QueryBuilder.WhereExpression.Equal, nameof(TTonKhoDto.MaKhoHang), (int)_MaKhoHangFilter.FilterValue);
            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionDate, System.DateTime>(
                QueryBuilder.WhereExpression.Equal, nameof(TTonKhoDto.Ngay), (System.DateTime)_NgayFilter.FilterValue);
            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionIntList, List <int> >(
                QueryBuilder.WhereExpression.In, nameof(TTonKhoDto.MaMatHang), matHangs.Select(p => p.Ma).ToList());

            var tTonKhoes = ServiceLocator.Instance.GetInstance <IDataService <TTonKhoDto> >().Get(qe).Items;

            var builder = new StringBuilder();

            var matHangsDictionary = matHangs.ToDictionary(p => p.Ma, p => p);

            var sortedList = new SortedList <string, string>();

            var tongSoCoun = 0;
            var tongSoKg   = 0;

            for (int i = 0; i < tTonKhoes.Count; i++)
            {
                var mh     = matHangsDictionary[tTonKhoes[i].MaMatHang];
                var tenMH  = mh.TenMatHangDayDu;
                var soKg   = (tTonKhoes[i].SoLuong * mh.SoKy) / 10;
                var soCoun = tTonKhoes[i].SoLuong;
                var row    = string.Format("{0}\t{1}\t{2}", tenMH, soCoun, soKg);
                tongSoCoun += soCoun;
                tongSoKg   += soKg;
                sortedList.Add(tenMH, row);
            }

            foreach (var item in sortedList)
            {
                builder.AppendLine(item.Value);
            }

            builder.Insert(0, string.Format("{0:dd/MM/yyyy}\t{1:N0} cuộn\t{2:N0} kg{3}"
                                            , (System.DateTime)_NgayFilter.FilterValue, tongSoCoun, tongSoKg, System.Environment.NewLine));
            Clipboard.SetText(builder.ToString());
        }
Exemple #2
0
        public override void Load()
        {
            try
            {
                _logger.LogDebug("Load {0}", _debugName);

                BeforeLoad();

                PagingResultDto <T1> result;

                var qe = new QueryBuilder.QueryExpression()
                {
                    PageIndex    = PagerViewModel.CurrentPageIndex,
                    PageSize     = PagerViewModel.PageSize,
                    WhereOptions = WhereOptionsFromHeaderFilter(HeaderFilters),
                    OrderOptions = OrderOptionsFromHeaderFilter(HeaderFilters)
                };

                result = DataService.Get <T, T1>(qe);

                _originalEntities.Clear();

                foreach (var dto in result.Items)
                {
                    ProcessDataModelBeforeAddToEntities(dto);
                    _originalEntities.Add(dto);
                }

                Entities.Reset(result.Items);

                PagerViewModel.ItemCount = Entities.Count;
                PagerViewModel.PageCount = result.PageCount;
                PagerViewModel.SetCurrentPageIndexWithoutAction(result.PageIndex);

                AfterLoad();

                SysMsg = "OK";
            }
            catch (System.Net.WebException ex)
            {
                if (ex.Response != null)
                {
                    var statusCode = ((System.Net.HttpWebResponse)ex.Response).StatusCode;
                    SysMsg = string.Format("[{0}] {1}", statusCode, new System.IO.StreamReader(ex.Response.GetResponseStream()).ReadToEnd());
                }
                else
                {
                    SysMsg = ex.Message;
                }
            }
            catch (Exception ex)
            {
                SysMsg = ex.Message;
            }
        }
        private void BtnPrintRemain_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (GridView.dataGrid.SelectedItem == null)
            {
                return;
            }

            var donHang = GridView.dataGrid.SelectedItem as DTO.TDonHangDto;;

            var qe = new QueryBuilder.QueryExpression();

            qe.WhereOptions.Add(new QueryBuilder.WhereExpression.WhereOptionInt()
            {
                Predicate    = "=",
                PropertyPath = nameof(DTO.TChiTietDonHangDto.MaDonHang),
                Value        = donHang.ID
            });
            qe.WhereOptions.Add(new QueryBuilder.WhereExpression.WhereOptionBool()
            {
                Predicate    = "=",
                PropertyPath = nameof(DTO.TChiTietDonHangDto.Xong),
                Value        = false
            });
            var tChiTietDonHangs = ServiceLocator.Instance.GetInstance <IDataService <DTO.TChiTietDonHangDto> >().Get(qe).Items;

            if (tChiTietDonHangs.Count == 0)
            {
                return;
            }

            var content = new List <string>();

            var qe1 = new QueryBuilder.QueryExpression();

            qe1.WhereOptions.Add(new QueryBuilder.WhereExpression.WhereOptionInt()
            {
                Predicate    = "=",
                PropertyPath = string.Format("MaChiTietDonHangNavigation.MaDonHang"),
                Value        = donHang.ID
            });
            var tChiTietChuyenHangDonHangs = ServiceLocator.Instance.GetInstance <IDataService <DTO.TChiTietChuyenHangDonHangDto> >().Get(qe1).Items;

            foreach (var ctdh in tChiTietDonHangs)
            {
                var soLuong = tChiTietChuyenHangDonHangs.Where(p => p.MaChiTietDonHang == ctdh.ID).Sum(p => p.SoLuong);
                ctdh.TMatHang = ReferenceDataManager <DTO.TMatHangDto> .Instance.GetList().Find(p => p.ID == ctdh.MaMatHang);

                content.Add(string.Format("{0,3}  {1}", ctdh.SoLuong - soLuong, ctdh.TMatHang.TenMatHangIn));
            }

            var tenKhachHang = ReferenceDataManager <DTO.RKhachHangDto> .Instance.GetList().Find(p => p.Ma == donHang.MaKhachHang).TenKhachHang;

            Print(tenKhachHang, content);
        }
        private void BtnTonKho_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (GridView.dataGrid.SelectedItem == null)
            {
                return;
            }

            var donHang = GridView.dataGrid.SelectedItem as DTO.TDonHangDto;;
            var qe      = new QueryBuilder.QueryExpression();

            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionInt, int>(
                QueryBuilder.WhereExpression.Equal, nameof(DTO.TChiTietDonHangDto.MaDonHang), donHang.ID);

            var tChiTietDonHangs = ServiceLocator.Instance.GetInstance <IDataService <DTO.TChiTietDonHangDto> >().Get(qe).Items;

            var maMatHangs = tChiTietDonHangs.Select(p => p.MaMatHang).ToList();

            qe = new QueryBuilder.QueryExpression();
            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionInt, int>(
                QueryBuilder.WhereExpression.Equal, nameof(DTO.TTonKhoDto.MaKhoHang), donHang.MaKhoHang);
            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionDate, System.DateTime>(
                QueryBuilder.WhereExpression.Equal, nameof(DTO.TTonKhoDto.Ngay), donHang.Ngay);
            qe.AddWhereOption <QueryBuilder.WhereExpression.WhereOptionIntList, List <int> >(
                QueryBuilder.WhereExpression.In, nameof(DTO.TTonKhoDto.MaMatHang), maMatHangs);

            var tTonKhoes = ServiceLocator.Instance.GetInstance <IDataService <DTO.TTonKhoDto> >().Get(qe).Items;

            var data = new List <CustomControl.MessageBox2.MessageBox2Data>();

            foreach (var tTonKho in tTonKhoes)
            {
                data.Add(new CustomControl.MessageBox2.MessageBox2Data
                {
                    Title   = ReferenceDataManager <DTO.TMatHangDto> .Instance.GetList().Find(p => p.ID == tTonKho.MaMatHang).TenMatHangDayDu,
                    Content = tTonKho.SoLuong.ToString("N0")
                });
            }

            CustomControl.MessageBox2.Show("Ton Kho", data);
        }
Exemple #5
0
        public void Load()
        {
            Logger.Instance.Debug(_debugName + " BaseViewModel Load", Logger.Categories.UI);

            BeforeLoad();

            DTO.PagingResultDto <T> result;

            var qe = new QueryBuilder.QueryExpression();

            qe.PageIndex = PagerViewModel.IsEnablePaging ? PagerViewModel.CurrentPageIndex : 0;
            qe.PageSize  = 30;

            qe.WhereOptions = WhereOptionsFromHeaderFilter(HeaderFilters);
            qe.OrderOptions = OrderOptionsFromHeaderFilter(HeaderFilters);
            if (qe.OrderOptions.Count == 0)
            {
                qe.AddOrderByOption("Ma", true);
            }
            result = DataService.Get(qe);

            _originalEntities.Clear();

            foreach (var dto in result.Items)
            {
                ProcessDtoBeforeAddToEntities(dto);
                _originalEntities.Add(dto);
            }

            Entities.Reset(result.Items);

            PagerViewModel.ItemCount = Entities.Count;
            PagerViewModel.PageCount = result.PageCount;
            PagerViewModel.SetCurrentPageIndexWithoutAction(result.PageIndex);

            AfterLoad();
        }