コード例 #1
0
            public List <IQueryFilter> GetFilters()
            {
                var result = new List <IQueryFilter>();
                var refObj = new MdMerchandise();

                if (!string.IsNullOrEmpty(this.Masieuthi))
                {
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.MaVatTu),
                        Value    = this.Masieuthi,
                        Method   = FilterMethod.Like,
                    });
                }
                if (!string.IsNullOrEmpty(this.Barcode))
                {
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.Barcode),
                        Value    = this.Barcode,
                        Method   = FilterMethod.Like
                    });
                }

                if (!string.IsNullOrEmpty(this.Tendaydu))
                {
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.TenHang),
                        Value    = this.Tendaydu,
                        Method   = FilterMethod.Like
                    });
                }
                if (!string.IsNullOrEmpty(this.Mahangcuancc))
                {
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.MaNCC),
                        Value    = this.Mahangcuancc,
                        Method   = FilterMethod.Like
                    });
                }
                if (!string.IsNullOrEmpty(this.Tenviettat))
                {
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.TenVietTat),
                        Value    = this.Tenviettat,
                        Method   = FilterMethod.Like
                    });
                }
                return(result);
            }
コード例 #2
0
ファイル: KiemKeController.cs プロジェクト: gosusama/DBC
        public async Task <IHttpActionResult> Put(string id, NvKiemKeVm.Dto instance)
        {
            //Lấy danh sách các mã không thuộc kệ để update lại mã kệ cho các mã đó
            List <NvKiemKeVm.DtoDetails> hangKhongThuocKe = new List <NvKiemKeVm.DtoDetails>();

            foreach (NvKiemKeVm.DtoDetails data in instance.DataDetails)
            {
                if (data.KeKiemKe == instance.KeKiemKe)
                {
                }
                else
                {
                    hangKhongThuocKe.Add(data);
                }
            }

            //Update mã kệ trong danh mục hàng hóa
            foreach (NvKiemKeVm.DtoDetails value in hangKhongThuocKe)
            {
                MdMerchandise maHangHoa = _service.Repository.DbSet.FirstOrDefault(x => x.MaVatTu == value.MaVatTu);
                if (maHangHoa != null)
                {
                    maHangHoa.MaKeHang = instance.KeKiemKe;
                    _service.Update(maHangHoa);
                }
            }
            await _service.UnitOfWork.SaveAsync();

            //end cập nhật mã kệ

            TransferObj <NvKiemKe> result = new TransferObj <NvKiemKe>();
            NvKiemKe check = _serviceKK.FindById(instance.Id);

            if (id != instance.Id || check.TrangThai == (int)ApprovalState.IsComplete)
            {
                return(NotFound());
            }
            try
            {
                NvKiemKe item = _serviceKK.UpdatePhieu(instance);
                await _serviceKK.UnitOfWork.SaveAsync();

                result.Status = true;
                result.Data   = item;
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
コード例 #3
0
        public async Task <IHttpActionResult> GetDetails(string id)
        {
            TransferObj <NvChuongTrinhKhuyenMaiVm.Dto> result = new TransferObj <NvChuongTrinhKhuyenMaiVm.Dto>();

            NvChuongTrinhKhuyenMaiVm.Dto temp = new NvChuongTrinhKhuyenMaiVm.Dto();
            string _parentUnitCode            = _service.GetParentUnitCode();
            NvChuongTrinhKhuyenMai phieu      = _service.FindById(id);

            if (phieu != null)
            {
                temp = Mapper.Map <NvChuongTrinhKhuyenMai, NvChuongTrinhKhuyenMaiVm.Dto>(phieu);
                List <NvChuongTrinhKhuyenMaiChiTiet> tb_ChuongTrinhKhuyenMaiChiTiet = _service.UnitOfWork.Repository <NvChuongTrinhKhuyenMaiChiTiet>().DbSet.ToList();

                List <NvChuongTrinhKhuyenMaiChiTiet> chiTietChuongTrinhKhuyenMai = tb_ChuongTrinhKhuyenMaiChiTiet.Where(x => x.MaChuongTrinh == phieu.MaChuongTrinh).ToList();
                temp.DataDetails = Mapper.Map <List <NvChuongTrinhKhuyenMaiChiTiet>, List <NvChuongTrinhKhuyenMaiVm.DtoDetail> >(chiTietChuongTrinhKhuyenMai);

                foreach (NvChuongTrinhKhuyenMaiVm.DtoDetail tmp in temp.DataDetails)
                {
                    switch (tmp.LoaiChuongTrinh)
                    {
                    case TypePromotion.ByItemGetItem:
                        MdMerchandise hangHoa = _service.UnitOfWork.Repository <MdMerchandise>().DbSet.FirstOrDefault(x => x.MaVatTu == tmp.MaHang);
                        tmp.TenHang = (hangHoa != null ? hangHoa.TenHang : "");
                        break;

                    case TypePromotion.MerchandiseType:
                        MdMerchandiseType loaiHangHoa = _service.UnitOfWork.Repository <MdMerchandiseType>().DbSet.FirstOrDefault(x => x.MaLoaiVatTu == tmp.MaHang);
                        tmp.TenHang = (loaiHangHoa != null ? loaiHangHoa.TenLoaiVatTu : "");
                        break;

                    case TypePromotion.MerchandiseGroup:
                        MdNhomVatTu nhomHangHoa = _service.UnitOfWork.Repository <MdNhomVatTu>().DbSet.FirstOrDefault(x => x.MaNhom == tmp.MaHang);
                        tmp.TenHang = (nhomHangHoa != null ? nhomHangHoa.TenNhom : "");
                        break;

                    case TypePromotion.Sponsor:
                        MdSupplier nhaCungCap = _service.UnitOfWork.Repository <MdSupplier>().DbSet.FirstOrDefault(x => x.MaNCC == tmp.MaHang && x.UnitCode.StartsWith(_parentUnitCode));
                        tmp.TenHang = (nhaCungCap != null ? nhaCungCap.TenNCC : "");
                        break;

                    default:
                        break;
                    }
                }
                result.Data   = temp;
                result.Status = true;
                return(Ok(result));
            }
            return(NotFound());
        }
コード例 #4
0
        public NvDatHang InsertSummary(NvPhieuDatHangNCCVm.Dto instance)
        {
            instance.Calc(); //Tinh lại cac thuộc tính thứ sinh

            NvDatHang item = AutoMapper.Mapper.Map <NvPhieuDatHangNCCVm.Dto, NvDatHang>(instance);

            if (!string.IsNullOrEmpty(instance.SoPhieuCon))
            {
                string[] phieus = instance.SoPhieuCon.Split(',');
                if (phieus.Length > 0)
                {
                    item.SoPhieuCon = string.Empty;
                    foreach (var str in phieus)
                    {
                        NvDatHang obj = Repository.DbSet.FirstOrDefault(x => x.SoPhieuPk == str);
                        if (obj != null)
                        {
                            item.SoPhieuCon += obj.SoPhieuPk + ",";
                            obj.TrangThai    = (int)OrderState.IsComplete;
                            obj.ObjectState  = ObjectState.Modified;
                        }
                    }
                }
            }
            item.Id = Guid.NewGuid().ToString();
            NvDatHang result = AddUnit(item);

            result.GenerateMaChungTuPk();
            result.SoPhieu = SaveCode();
            result         = Insert(result);

            DbSet <MdMerchandise> merchandiseCollection     = UnitOfWork.Repository <MdMerchandise>().DbSet;
            List <NvPhieuDatHangNCCVm.DtoDetail> dataFilter = instance.DataDetails.Where(x => x.SoLuong > 0).ToList();
            List <NvDatHangChiTiet> dataDetails             = AutoMapper.Mapper.Map <List <NvPhieuDatHangNCCVm.DtoDetail>, List <NvDatHangChiTiet> >(dataFilter);

            dataDetails.ForEach(x =>
            {
                MdMerchandise hang = merchandiseCollection.FirstOrDefault(u => u.MaVatTu == x.MaHang);
                x.TenHang          = hang != null ? hang.TenHang : "";
                x.Id        = Guid.NewGuid().ToString();
                x.SoPhieu   = result.SoPhieu;
                x.SoPhieuPk = result.SoPhieuPk;
                x.MaHd      = result.MaHd;
            });
            UnitOfWork.Repository <NvDatHangChiTiet>().InsertRange(dataDetails);
            return(result);
        }
コード例 #5
0
            public List <IQueryFilter> GetFilters()
            {
                var result = new List <IQueryFilter>();
                var refObj = new MdMerchandise();

                if (!string.IsNullOrEmpty(this.MaKhachHang))
                {
                    var codes = this.MaKhachHang.Split(',').ToList();
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.MaKhachHang),
                        Value    = codes,
                        Method   = FilterMethod.In
                    });
                }
                if (!string.IsNullOrEmpty(this.MaLoaiVatTu))
                {
                    var codes = this.MaLoaiVatTu.Split(',').ToList();
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.MaLoaiVatTu),
                        Value    = codes,
                        Method   = FilterMethod.In
                    });
                }
                if (!string.IsNullOrEmpty(this.MaNhomVatTu))
                {
                    var codes = this.MaNhomVatTu.Split(',').ToList();
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.MaNhomVatTu),
                        Value    = codes,
                        Method   = FilterMethod.In
                    });
                }

                return(result);
            }
コード例 #6
0
            public List <IQueryFilter> GetFilters()
            {
                var result = new List <IQueryFilter>();
                var refObj = new MdMerchandise();

                if (!string.IsNullOrEmpty(this.MaLoaiVatTu))
                {
                    var          codeTypes          = this.MaLoaiVatTu.Split(',').ToList();
                    IQueryFilter queryFilterByGroup = new QueryFilterLinQ();
                    if (this.MaNhomVatTu != null)
                    {
                        var codeGroups = this.MaNhomVatTu.Split(',').ToList();
                        queryFilterByGroup.Method   = FilterMethod.In;
                        queryFilterByGroup.Value    = codeGroups;
                        queryFilterByGroup.Property = ClassHelper.GetProperty(() => refObj.MaNhomVatTu);
                    }

                    result.Add(new QueryFilterLinQ
                    {
                        Method     = FilterMethod.And,
                        SubFilters = new List <IQueryFilter>()
                        {
                            new QueryFilterLinQ()
                            {
                                Property = ClassHelper.GetProperty(() => refObj.MaLoaiVatTu),
                                Value    = codeTypes,
                                Method   = FilterMethod.In
                            },
                            queryFilterByGroup,
                            new QueryFilterLinQ()
                            {
                                Method     = FilterMethod.Or,
                                SubFilters = new List <IQueryFilter>()
                                {
                                    new QueryFilterLinQ
                                    {
                                        Property = ClassHelper.GetProperty(() => refObj.TenHang),
                                        Value    = this.TenVatTu,
                                        Method   = FilterMethod.Like
                                    },
                                    new QueryFilterLinQ
                                    {
                                        Property = ClassHelper.GetProperty(() => refObj.MaVatTu),
                                        Value    = this.MaVatTu,
                                        Method   = FilterMethod.Like
                                    }
                                }
                            }
                        }
                    });
                }
                else
                {
                    result.Add(new QueryFilterLinQ()
                    {
                        Method     = FilterMethod.Or,
                        SubFilters = new List <IQueryFilter>()
                        {
                            new QueryFilterLinQ
                            {
                                Property = ClassHelper.GetProperty(() => refObj.TenHang),
                                Value    = this.TenVatTu,
                                Method   = FilterMethod.Like
                            },
                            new QueryFilterLinQ
                            {
                                Property = ClassHelper.GetProperty(() => refObj.MaVatTu),
                                Value    = this.MaVatTu,
                                Method   = FilterMethod.Like
                            }
                        }
                    });
                }

                return(result);
            }