public BindingList<SpecimenForGrid> SearchConcreteSpecimens(string number, BindingList<TubeForGrid> tubeGrids ) { if (string.IsNullOrEmpty(number)) { return new BindingList<SpecimenForGrid>(); } else { var listForGrid = new BindingList<SpecimenForGrid>(); foreach (var concreteSpecimen in new BindingList<DtoConcreteSpecimen>(OrderService.FindConcreteSpecimensByOrder(number))) { var specimenTubeAttaches = new BindingList<DtoSpecimenTubeAttach>(OrderService.GetSpecimenTubeAttachesBySpecimen(concreteSpecimen.Code)); var query = from tubeGrid in tubeGrids join specimenTube in specimenTubeAttaches on tubeGrid.ConcreteCode equals specimenTube.ConcreteTube.Code select tubeGrid.Id; StringBuilder builder = new StringBuilder(); bool isLastCode = true; foreach (var tubeString in query) { if (isLastCode) { builder.Append(tubeString); } else { builder.Append(", " + tubeString); } isLastCode = false; } var specimen = new SpecimenForGrid() { Code = concreteSpecimen.Specimen.Code, ConcreteCode = concreteSpecimen.Code, CollectedDt = concreteSpecimen.CollectedDt, Volume = concreteSpecimen.Volume, Tubes = builder.ToString() }; listForGrid.Add(specimen); } return listForGrid; } }
public string LoadDefaultEntities(string code, BindingList<TestForGrid> testGrids, BindingList<SpecimenForGrid> specimenGrids, BindingList<TubeForGrid> tubeGrids) { if (testGrids.Count<TestForGrid>(test => test.Code == code) < 2) { var test = new TestServiceClient().GetTestByCode(code); var specimenForGrid = new SpecimenForGrid() { Code = test.DefaultSpecimen.Code }; specimenGrids.Add(specimenForGrid); LoadDefaultTube(test.DefaultSpecimen.Code, tubeGrids); return string.Empty; } else { return "Test is exist already!"; } }