Beispiel #1
0
        public TemplateInfoDto GetTemplateInfoByTemplateIdAndSpecId(int input, int[] specId)
        {
            var item = _tplRepostitory.Single(x => x.Id == input);

            if (item != null)
            {
                BaseInfoDto tplBaseInfo = new BaseInfoDto()
                {
                    Id    = item.Id,
                    Name  = item.TplName,
                    Count = 1
                };
                List <TplSpecimen> specList = new List <TplSpecimen>();
                if (specId.Contains(-1) || specId.Length == 0)
                {
                    specList = _tplSpecRepostitory.GetAll().Where(x => x.TplId == item.Id && x.IsDeleted == false).OrderBy(x => x.OrderNum).ToList();
                }
                else
                {
                    specList = _tplSpecRepostitory.GetAll().Where(x => x.TplId == item.Id && x.IsDeleted == false && specId.Contains(x.Id)).OrderBy(x => x.OrderNum).ToList();
                }

                var specIdList = specList.Select(x => x.Id).ToArray();
                var eleList    = _tplEleRepostitory.GetAll().Where(x => specIdList.Contains(x.TplSpecId) && x.IsDeleted == false)
                                 .OrderBy(x => x.TplSpecId).ToList();

                List <BaseInfoDto> specInfoList = new List <BaseInfoDto>();
                List <BaseInfoDto> eleInfoList  = new List <BaseInfoDto>();

                foreach (var specItem in specList)
                {
                    var tempEleList = eleList.Where(x => x.TplSpecId == specItem.Id).Select(x => new BaseInfoDto()
                    {
                        Id       = x.Id,
                        Name     = x.ElementName + (String.IsNullOrEmpty(x.UnitName) ? string.Empty : "(" + x.UnitName + ")"),
                        Count    = 1,
                        OrderNum = x.OrderNo
                    }).OrderBy(x => x.OrderNum).ToList();
                    BaseInfoDto tempSpecInfo = new BaseInfoDto()
                    {
                        Id    = specItem.Id,
                        Name  = specItem.SpecName,
                        Count = tempEleList.Count() == 0 ? 1 : tempEleList.Count()
                    };
                    specInfoList.Add(tempSpecInfo);
                    eleInfoList.InsertRange(eleInfoList.Count(), tempEleList);
                }

                TemplateInfoDto tplInfoDto = new TemplateInfoDto()
                {
                    Template  = tplBaseInfo,
                    Specimens = specInfoList,
                    Elements  = eleInfoList,
                };
                return(tplInfoDto);
            }
            return(null);
        }
Beispiel #2
0
        private TemplateInfoDto GetSingleTemplateSchema(int tplId, int[] specIds)
        {
            var item = _tplRepostitory.Single(x => x.Id == tplId);

            if (item != null)
            {
                BaseInfoDto tplBaseInfo = new BaseInfoDto()
                {
                    Id    = item.Id,
                    Name  = item.TplName,
                    Count = 1
                };
                List <TplSpecimen> specList = new List <TplSpecimen>();
                specList = _tplSpecRepostitory.GetAll().Where(x => x.TplId == item.Id && specIds.Contains(x.Id) && x.IsDeleted == false).OrderBy(x => x.OrderNum).ToList();

                var specIdList = specList.Select(x => x.Id).ToArray();
                var eleList    = _tplEleRepostitory.GetAll().Where(x => specIdList.Contains(x.TplSpecId) && x.IsDeleted == false)
                                 .OrderBy(x => x.TplSpecId).ToList();

                List <BaseInfoDto> specInfoList = new List <BaseInfoDto>();
                List <BaseInfoDto> eleInfoList  = new List <BaseInfoDto>();

                int rowNum = 0;
                foreach (var specItem in specList)
                {
                    var tempEleList = eleList.Where(x => x.TplSpecId == specItem.Id).Select(x => new BaseInfoDto()
                    {
                        Id       = x.Id,
                        Name     = x.ElementName + (String.IsNullOrEmpty(x.UnitName) ? string.Empty : "(" + x.UnitName + ")"),
                        Count    = 1,
                        OrderNum = x.OrderNo
                    }).OrderBy(x => x.OrderNum).ToList();
                    BaseInfoDto tempSpecInfo = new BaseInfoDto()
                    {
                        Id    = specItem.Id,
                        Name  = specItem.SpecName,
                        Count = tempEleList.Count() == 0 ? 1 : tempEleList.Count()
                    };
                    rowNum += tempSpecInfo.Count;
                    specInfoList.Add(tempSpecInfo);
                    eleInfoList.InsertRange(eleInfoList.Count(), tempEleList);
                }
                tplBaseInfo.Count = rowNum;

                TemplateInfoDto tplInfoDto = new TemplateInfoDto()
                {
                    Template  = tplBaseInfo,
                    Specimens = specInfoList,
                    Elements  = eleInfoList,
                };
                return(tplInfoDto);
            }
            return(null);
        }
Beispiel #3
0
        public static BaseInfoDto GetUserProfileAccountUnit()
        {
            var profile = DomainUserProfileUtil.Load <B3ButcheryUserProfile>();

            if (profile.AccountingUnit_ID == null)
            {
                throw new Exception("板块个性设置没有设置会计单位");
            }
            var dto = new BaseInfoDto();

            dto.ID   = profile.AccountingUnit_ID.Value;
            dto.Name = profile.AccountingUnit_Name;
            return(dto);
        }
Beispiel #4
0
        public static List <BaseInfoDto> GetAllStoreList()
        {
            var list  = new List <BaseInfoDto>();
            var query = new DQueryDom(new JoinAlias(typeof(Store)));

            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("Name"));

            query.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        var dto = new BaseInfoDto();
                        dto.ID   = (long)reader[0];
                        dto.Name = (string)reader[1];
                        list.Add(dto);
                    }
                }
            }
            return(list);
        }