public MdNhomVatTu FilterGroupMerchandiseCodes(string maNhom)
        {
            var typeMer = new MdNhomVatTu();

            if (string.IsNullOrEmpty(maNhom))
            {
                typeMer = null;
            }
            else
            {
                maNhom = maNhom.ToUpper();
                maNhom = maNhom.Trim();
                var unitCode = _service.GetCurrentUnitCode();
                typeMer = _service.Repository.DbSet.Where(x => x.MaNhom == maNhom).FirstOrDefault(x => x.UnitCode == unitCode);
                if (typeMer != null)
                {
                    return(typeMer);
                }
                else
                {
                    typeMer = null;
                }
            }
            return(typeMer);
        }
        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());
        }
        public async Task <IHttpActionResult> Delete(string id)
        {
            MdNhomVatTu instance = await _service.Repository.FindAsync(id);

            if (instance == null)
            {
                return(NotFound());
            }
            try
            {
                _service.Delete(instance.Id);
                await _service.UnitOfWork.SaveAsync();

                return(Ok(instance));
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
        public async Task <IHttpActionResult> Put(string id, MdNhomVatTu instance)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != instance.Id)
            {
                return(BadRequest());
            }
            var result = new TransferObj <MdNhomVatTu>();

            if (id != instance.Id)
            {
                result.Status  = false;
                result.Message = "Id không hợp lệ";
                return(Ok(result));
            }

            try
            {
                instance.IUpdateBy   = _service.GetClaimsPrincipal().Identity.Name;
                instance.IUpdateDate = DateTime.Now;
                var item = _service.Update(instance);
                _service.UnitOfWork.Save();
                result.Status  = true;
                result.Data    = item;
                result.Message = "Cập nhật thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                result.Status  = false;
                result.Message = e.Message;
                return(Ok(result));
            }
        }
示例#5
0
            public List <IQueryFilter> GetFilters()
            {
                var result = new List <IQueryFilter>();
                var refObj = new MdNhomVatTu();

                if (!string.IsNullOrEmpty(this.MaLoaiVatTu))
                {
                    var codeTypes = this.MaLoaiVatTu.Split(',').ToList();

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