public static dynamic GetTSObject(LoadGroup dynObject) { if (dynObject is null) { return(null); } return(dynObject.teklaObject); }
private bool migrate_LoadGroup(MigrationData item) { try { var data = item.Data.Split('$'); var groupModel = new LoadGroup() { Code = data[0], Label = data[1], DateStart = DefaultDateFrom, IsActive = true, Description = "migrated", LoadGroupLinks = new HashSet <LoadGroupLink>() }; var linkModel = new LoadGroupLink() { CourtTypeId = int.Parse(data[2]), CaseInstanceId = int.Parse(data[3]), LoadIndex = decimal.Parse(data[4].Replace(",", System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator)), GroupCodes = new HashSet <LoadGroupLinkCode>() }; var codeModel = new LoadGroupLinkCode() { CaseCodeId = int.Parse(data[5]) }; linkModel.GroupCodes.Add(codeModel); groupModel.LoadGroupLinks.Add(linkModel); repo.Add(groupModel); repo.SaveChanges(); return(true); } catch (Exception ex) { item.Message = ex.Message; return(false); } }
public bool LoadGroup_SaveData(LoadGroup model) { try { if (model.Id > 0) { //Update var saved = repo.GetById <LoadGroup>(model.Id); saved.Code = model.Code; saved.Label = model.Label; saved.Description = model.Description; saved.IsActive = model.IsActive; saved.DateStart = model.DateStart; saved.DateEnd = model.DateEnd; repo.Update(saved); repo.SaveChanges(); } else { //Insert int maxOrderNumber = repo.AllReadonly <LoadGroup>() .Select(x => x.OrderNumber) .DefaultIfEmpty(0) .Max(); model.OrderNumber = maxOrderNumber + 1; repo.Add <LoadGroup>(model); repo.SaveChanges(); } return(true); } catch (Exception ex) { logger.LogError(ex, $"Грешка при запис на LoadGroup Id={ model.Id }"); return(false); } }
public IActionResult Edit(LoadGroup model) { if (!ModelState.IsValid) { SetBreadcrums(model.Id); return(View(nameof(Edit), model)); } var currentId = model.Id; if (service.LoadGroup_SaveData(model)) { this.SaveLogOperation(currentId == 0, model.Id); SetSuccessMessage(MessageConstant.Values.SaveOK); return(RedirectToAction(nameof(Edit), new { id = model.Id })); } else { SetErrorMessage(MessageConstant.Values.SaveFailed); } SetBreadcrums(model.Id); return(View(nameof(Edit), model)); }
public void GetUser_GroupFromRedmine() { NameValueCollection parametr; redmineData.listUser.Clear(); listLoadUser.Clear(); listLoadGroup.Clear(); try { parametr = new NameValueCollection { { "user_id", "*" } }; foreach (User user in redmineManager.GetObjects <User>(parametr)) { redmineData.listUser.Add(user); LoadUser loadUser = new LoadUser(redmineData, user); listLoadUser.Add(loadUser); } } catch (Exception ex) { MessageBox.Show("Error - " + ex.Message); } try { parametr = new NameValueCollection { { "group_id", "*" } }; foreach (Group group in redmineManager.GetObjects <Group>(parametr)) { UserGroupRedmine userGroup = new UserGroupRedmine(group.Name, group.Id); LoadGroup loadGroup = new LoadGroup(group.Name, group.Id, redmineData.listIssue); LoadGroup findLoadGroup = listLoadGroup.Find(x => x.id == loadGroup.id); if (findLoadGroup == null) { listLoadGroup.Add(loadGroup); findLoadGroup = loadGroup; } foreach (User user in redmineManager.GetObjects <User>(new NameValueCollection { { "group_id", group.Id.ToString() } })) { LoadUser loadUser = listLoadUser.Find(x => x.user.Id == user.Id); if (loadUser != null) { loadUser.listGroup.Add(userGroup); LoadUser findLoadUser = findLoadGroup.listLoadUser.Find(x => x.user.Id == loadUser.user.Id); if (findLoadUser == null) { findLoadGroup.listLoadUser.Add(loadUser); } } } } } catch (Exception ex) { MessageBox.Show("Error -" + ex.Message); } }
/// <summary> ///Method create model in proj environment /// </summary> private static void CreateModel(Structure model) { #region ---------- Geometry ----------- #region Create Materials Material concmat = new Material(Guid.NewGuid(), "conc", (int)Material_Type.Concrete, "C30/37"); Material steelmat = new Material(Guid.NewGuid(), "steel", (int)Material_Type.Steel, "S 355"); foreach (var x in new List <Material> { concmat, steelmat }) { model.CreateMaterial(x); } #endregion #region Create Cross Sections CrossSectionManufactured hea260 = new CrossSectionManufactured(Guid.NewGuid(), "steel.HEA", steelmat.Id, "HEA260", 1, 0); CrossSectionParametric rect300x300 = new CrossSectionParametric(Guid.NewGuid(), "r300x300", concmat.Id, 1, new double[] { 300.0, 300.0 }); model.CreateCrossSection(hea260); model.CreateCrossSection(rect300x300); #endregion #region Create Nodes double a = 5.0; double b = 6.0; double c = 4.0; StructNode n1 = new StructNode(Guid.NewGuid(), "n1", 0, 0, 0); StructNode n2 = new StructNode(Guid.NewGuid(), "n2", a, 0, 0); StructNode n3 = new StructNode(Guid.NewGuid(), "n3", a, b, 0); StructNode n4 = new StructNode(Guid.NewGuid(), "n4", 0, b, 0); StructNode n5 = new StructNode(Guid.NewGuid(), "n5", 0, 0, c); StructNode n6 = new StructNode(Guid.NewGuid(), "n6", a, 0, c); StructNode n7 = new StructNode(Guid.NewGuid(), "n7", a, b, c); StructNode n8 = new StructNode(Guid.NewGuid(), "n8", 0, b, c); foreach (var x in new List <StructNode> { n1, n2, n3, n4, n5, n6, n7, n8 }) { model.CreateNode(x); } #endregion #region Create Beams Beam b1 = new Beam(Guid.NewGuid(), beamName, hea260.Id, new Guid[2] { n1.Id, n5.Id }); Beam b2 = new Beam(Guid.NewGuid(), "b2", hea260.Id, new Guid[2] { n2.Id, n6.Id }); Beam b3 = new Beam(Guid.NewGuid(), "b3", hea260.Id, new Guid[2] { n3.Id, n7.Id }); Beam b4 = new Beam(Guid.NewGuid(), "b4", hea260.Id, new Guid[2] { n4.Id, n8.Id }); foreach (var x in new List <Beam> { b1, b2, b3, b4 }) { model.CreateBeam(x); } #endregion #region Create Slab double thickness = 0.30; Slab s1 = new Slab(Guid.NewGuid(), SlabName, (int)Slab_Type.Plate, concmat.Id, thickness, new Guid[4] { n5.Id, n6.Id, n7.Id, n8.Id }); model.CreateSlab(s1); #endregion #region Create Support - in Node PointSupport Su1 = new PointSupport(Guid.NewGuid(), "Su1", n1.Id) { ConstraintRx = eConstraintType.Free, ConstraintRy = eConstraintType.Free, ConstraintRz = eConstraintType.Free }; PointSupport Su2 = new PointSupport(Guid.NewGuid(), "Su2", n2.Id) { ConstraintZ = eConstraintType.Flexible, StiffnessZ = 10000.0 }; PointSupport Su3 = new PointSupport(Guid.NewGuid(), "Su3", n3.Id); PointSupport Su4 = new PointSupport(Guid.NewGuid(), "Su4", n4.Id); foreach (var x in new List <PointSupport> { Su1, Su2, Su3, Su4 }) { model.CreatePointSupport(x); } #endregion #region Create Support - on Beam & on Slab Edge LineSupport lineSupport_onBeam = new LineSupport(Guid.NewGuid(), "linSupBeam", b1.Id) { ConstraintRx = eConstraintType.Free, ConstraintRy = eConstraintType.Free, ConstraintRz = eConstraintType.Free, ConstraintX = eConstraintType.Flexible, StiffnessX = 10.0, ConstraintY = eConstraintType.Flexible, StiffnessY = 10.0, ConstraintZ = eConstraintType.Flexible, StiffnessZ = 10.0, }; LineSupport lineSupport_onEdge = new LineSupport(Guid.NewGuid(), "linSupEdge", s1.Id) { ConstraintRx = eConstraintType.Free, ConstraintRy = eConstraintType.Free, ConstraintRz = eConstraintType.Free, ConstraintX = eConstraintType.Flexible, StiffnessX = 10.0, ConstraintY = eConstraintType.Flexible, StiffnessY = 10.0, ConstraintZ = eConstraintType.Flexible, StiffnessZ = 10.0, EdgeIndex = 2 }; foreach (var x in new List <LineSupport> { lineSupport_onBeam, lineSupport_onEdge }) { model.CreateLineSupport(x); } #endregion #endregion #region ---------- Loads --------------- #region Create Load Group LoadGroup lgperm = new LoadGroup(Guid.NewGuid(), "lgperm", (int)eLoadGroup_Load.eLoadGroup_Load_Permanent); LoadGroup lgvar1 = new LoadGroup(Guid.NewGuid(), "lgvar1", (int)eLoadGroup_Load.eLoadGroup_Load_Variable); LoadGroup lgvar2 = new LoadGroup(Guid.NewGuid(), "lgvar2", (int)eLoadGroup_Load.eLoadGroup_Load_Variable); LoadGroup lgvar3 = new LoadGroup(Guid.NewGuid(), "lgvar3", (int)eLoadGroup_Load.eLoadGroup_Load_Variable); foreach (var x in new List <LoadGroup> { lgperm, lgvar1, lgvar2, lgvar3 }) { model.CreateLoadGroup(x); } #endregion #region Create Load Case LoadCase lc_sw = new LoadCase(Guid.NewGuid(), "lc_sw", (int)LoadCase_actionType.Permanent, lgperm.Id, (int)LoadCase_loadCaseType.SelfWeight); LoadCase lc_perm = new LoadCase(Lc1Id, "lc_perm", (int)LoadCase_actionType.Permanent, lgperm.Id, (int)LoadCase_loadCaseType.Standard); LoadCase lc_var1 = new LoadCase(Guid.NewGuid(), "lc_var1", (int)LoadCase_actionType.Variable, lgvar1.Id, (int)LoadCase_loadCaseType.Static); LoadCase lc_var2 = new LoadCase(Guid.NewGuid(), "lc_var2", (int)LoadCase_actionType.Variable, lgvar2.Id, (int)LoadCase_loadCaseType.Static); LoadCase lc_var3a = new LoadCase(Guid.NewGuid(), "lc_var3a", (int)LoadCase_actionType.Variable, lgvar3.Id, (int)LoadCase_loadCaseType.Static); LoadCase lc_var3b = new LoadCase(Guid.NewGuid(), "lc_var3b", (int)LoadCase_actionType.Variable, lgvar3.Id, (int)LoadCase_loadCaseType.Static); LoadCase lc_var3c = new LoadCase(Guid.NewGuid(), "lc_var3c", (int)LoadCase_actionType.Variable, lgvar3.Id, (int)LoadCase_loadCaseType.Static); foreach (var x in new List <LoadCase> { lc_sw, lc_perm }) { model.CreateLoadCase(x); } #endregion #region Create Load Combinations CombinationItem[] combinationItems = new CombinationItem[] { new CombinationItem(lc_sw.Id, 1.0), new CombinationItem(Lc1Id, 1.0), // new CombinationItem(lc_var1.Id, 1.0), new CombinationItem(lc_var2.Id, 1.0), // new CombinationItem(lc_var3a.Id, 1.0), new CombinationItem(lc_var3b.Id, 1.0), new CombinationItem(lc_var3c.Id, 1.0) }; Combination C_EnUlsB = new Combination(C1Id, "C_EnUlsB", combinationItems) { Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnUlsSetB, }; Combination C_EnUlsC = new Combination(Guid.NewGuid(), "C_EnUlsC", combinationItems) { Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnUlsSetC }; Combination C_EnSlsChar = new Combination(Guid.NewGuid(), "C_EnSlsChar", combinationItems) { Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnSlsCharacteristic }; Combination C_EnSlsFreq = new Combination(Guid.NewGuid(), "C_EnSlsFreq", combinationItems) { Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnSlsFrequent }; Combination C_EnSlsQP = new Combination(Guid.NewGuid(), "C_EnSlsQP", combinationItems) { Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnSlsQuasiPermanent }; Combination C_Acc1 = new Combination(Guid.NewGuid(), "C_Acc1", combinationItems) { //Category = eLoadCaseCombinationCategory.AccidentalLimitState, Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnAccidental1 }; Combination C_Acc2 = new Combination(Guid.NewGuid(), "C_Acc2", combinationItems) { //Category = eLoadCaseCombinationCategory.AccidentalLimitState, Category = eLoadCaseCombinationCategory.AccordingNationalStandard, NationalStandard = eLoadCaseCombinationStandard.EnAccidental2 }; Combination C_ULS = new Combination(Guid.NewGuid(), "C_ULS", combinationItems) { Category = eLoadCaseCombinationCategory.UltimateLimitState, }; Combination C_SLS = new Combination(Guid.NewGuid(), "C_SLS", combinationItems) { Category = eLoadCaseCombinationCategory.ServiceabilityLimitState }; foreach (var x in new List <Combination> { C_EnUlsB, C_EnUlsC, C_EnSlsChar, C_EnSlsFreq, C_EnSlsQP, C_Acc1, C_Acc2 }) { model.CreateCombination(x); } #endregion #region Create Load - Point Loads - in Node double loadValue; loadValue = -12500.0; PointLoadInNode pln1 = new PointLoadInNode(Guid.NewGuid(), "pln1", loadValue, lc_perm.Id, n4.Id, (int)eDirection.X); model.CreatePointLoadInNode(pln1); #endregion #region Create Load - Point Loads - Free loadValue = -12500.0; PointLoadFree plf1 = new PointLoadFree(Guid.NewGuid(), "plf1", lc_perm.Id, loadValue, a / 3.0, b / 3.0, c, (int)eDirection.Z, c - 1.0, c + 1.0); model.CreatePointLoadFree(plf1); #endregion #region Create Load - Surface Loads - on Slab loadValue = -12500.0; SurfaceLoad sf1 = new SurfaceLoad(Guid.NewGuid(), "sf1", loadValue, lc_perm.Id, s1.Id, (int)eDirection.Z); SurfaceLoad sf2 = new SurfaceLoad(Guid.NewGuid(), "sf2", loadValue, lc_var1.Id, s1.Id, (int)eDirection.Y); SurfaceLoad sf3 = new SurfaceLoad(Guid.NewGuid(), "sf3", loadValue, lc_var2.Id, s1.Id, (int)eDirection.X); SurfaceLoad sf4 = new SurfaceLoad(Guid.NewGuid(), "sf4", loadValue, lc_var3a.Id, s1.Id, (int)eDirection.X); SurfaceLoad sf5 = new SurfaceLoad(Guid.NewGuid(), "sf5", loadValue, lc_var3b.Id, s1.Id, (int)eDirection.Y); SurfaceLoad sf6 = new SurfaceLoad(Guid.NewGuid(), "sf6", loadValue, lc_var3c.Id, s1.Id, (int)eDirection.Z); foreach (var x in new List <SurfaceLoad> { sf1 }) { model.CreateSurfaceLoad(x); } #endregion #region Create Load - Line Load - on Beam & on Slab Edge var lin1 = new LineLoadOnBeam(Guid.NewGuid(), "lin1") { Member = b1.Id, LoadCase = lc_perm.Id, Distribution = eLineLoadDistribution.Trapez, Value1 = -12500, Value2 = -12500, CoordinateDefinition = eCoordinateDefinition.Relative, StartPoint = 0.01, EndPoint = 0.99, CoordinationSystem = eCoordinationSystem.GCS, Direction = eDirection.X, Origin = eLineOrigin.FromStart, Location = eLineLoadLocation.Length, EccentricityEy = 0.0, EccentricityEz = 0.0 }; var lin2 = new LineLoadOnBeam(Guid.NewGuid(), "lin2") { Member = b1.Id, LoadCase = lc_var1.Id, Distribution = eLineLoadDistribution.Trapez, Value1 = -12500, Value2 = 12500, CoordinateDefinition = eCoordinateDefinition.Relative, StartPoint = 0.01, EndPoint = 0.99, CoordinationSystem = eCoordinationSystem.GCS, Direction = eDirection.Y, Origin = eLineOrigin.FromStart, Location = eLineLoadLocation.Projection, EccentricityEy = 0.0, EccentricityEz = 0.0 }; var lin3a = new LineLoadOnSlabEdge(Guid.NewGuid(), "lin3a") { Member = s1.Id, LoadCase = lc_var3a.Id, EdgeIndex = 0, Distribution = eLineLoadDistribution.Trapez, Value1 = -12500, Value2 = 12500, CoordinateDefinition = eCoordinateDefinition.Relative, StartPoint = 0.01, EndPoint = 0.99, CoordinationSystem = eCoordinationSystem.GCS, Direction = eDirection.Z, Origin = eLineOrigin.FromStart, Location = eLineLoadLocation.Length }; var lin3b = new LineLoadOnSlabEdge(Guid.NewGuid(), "lin3b") { Member = s1.Id, LoadCase = lc_var3b.Id, EdgeIndex = 1, Distribution = eLineLoadDistribution.Trapez, Value1 = -12500, Value2 = 12500, CoordinateDefinition = eCoordinateDefinition.Relative, StartPoint = 0.01, EndPoint = 0.99, CoordinationSystem = eCoordinationSystem.GCS, Direction = eDirection.Z, Origin = eLineOrigin.FromStart, Location = eLineLoadLocation.Length }; var lin3c = new LineLoadOnSlabEdge(Guid.NewGuid(), "lin3c") { Member = s1.Id, LoadCase = lc_var3c.Id, EdgeIndex = 2, Distribution = eLineLoadDistribution.Trapez, Value1 = -12500, Value2 = 12500, CoordinateDefinition = eCoordinateDefinition.Relative, StartPoint = 0.01, EndPoint = 0.99, CoordinationSystem = eCoordinationSystem.GCS, Direction = eDirection.Z, Origin = eLineOrigin.FromStart, Location = eLineLoadLocation.Length }; var lin3d = new LineLoadOnSlabEdge(Guid.NewGuid(), "lin3d") { Member = s1.Id, LoadCase = lc_perm.Id, EdgeIndex = 3, Distribution = eLineLoadDistribution.Trapez, Value1 = -12500, Value2 = 12500, CoordinateDefinition = eCoordinateDefinition.Relative, StartPoint = 0.01, EndPoint = 0.99, CoordinationSystem = eCoordinationSystem.GCS, Direction = eDirection.Z, Origin = eLineOrigin.FromStart, Location = eLineLoadLocation.Length }; foreach (var x in new List <LineLoadOnBeam> { lin1 }) { model.CreateLineLoad(x); } foreach (var x in new List <LineLoadOnSlabEdge> { lin3d }) { model.CreateLineLoad(x); } //foreach (var x in new List<LineLoadOnBeam> { lin1, lin2 }) { model.CreateLineLoad(x); } //foreach (var x in new List<LineLoadOnSlabEdge> { lin3a, lin3b, lin3c, lin3d }) { model.CreateLineLoad(x); } #endregion #endregion }
private void ShowLoad_TimeDWH() { List <string> list = new List <string>(); listLoadDWH.Items.Clear(); ListViewItem lvi; string[] array; int iLine = 0; if (item is LoadProject) { LoadProject loadProject = manager.listLoadProject.Find(x => x.Id == this.IDitem); if (loadProject != null) { LoadYWH loadYWH = loadProject.listLoadYWH.Find(x => x.NumberYear == this.year); loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month); } } if (item is LoadUser) { LoadUser loadUser_cur = (item as LoadUser); if (loadUser_cur.GroupName.Trim() == loadUser_cur.Name.Trim()) { LoadGroup loadGroup = manager.listLoadGroup.Find(x => x.Name.Equals(loadUser_cur.GroupName)); if (loadGroup != null) { LoadUser loadUser = loadGroup.listLoadUser.Find(x => x.Id == loadUser_cur.Id); if (loadUser != null) { LoadYWH loadYWH = manager.FindLoadYWH(year, loadUser.listLoadYWH); loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month); } } } else { LoadUser loadUser = manager.listLoadUser.Find(x => x.Id == this.IDitem); if (loadUser != null) { LoadYWH loadYWH = loadUser.listLoadYWH.Find(x => x.NumberYear == this.year); loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month); } } } if (item is LoadYWH) { LoadYWH loadYWH = manager.listLoadYWH.Find(x => x.NumberYear == (item as LoadYWH).NumberYear); if (loadYWH != null) { loadMWH = loadYWH.listLoadMWH.Find(x => x.numberMonth == this.month); } } if (loadMWH != null) { loadMWH.GetListLoadProject(this.tracker); loadMWH.listLoadIssue.Sort(); loadMWH.listLoadTimeEntry.Sort(); } switch (typeView) { case TypeView.LoadShortExpUser: LoadUser loadUser = manager.listLoadUser.Find(x => x.user.Id == IDLoadUser); if (loadUser != null) { foreach (LoadIssue loadIssue in loadUser.listLoadOpenIssue) { if (loadIssue.isExperied) { AddLineLoadExperiedIssue(loadIssue); } } } break; case TypeView.LoadShortExpProject: LoadProject loadProject = manager.listLoadProject.Find(x => x.userProject.Id == IDLoadProject); if (loadProject != null) { foreach (LoadIssue loadIssue in loadProject.listLoadOpenIssue) { if (loadIssue.isExperied) { AddLineLoadExperiedIssue(loadIssue); } iLine++; } } break; case TypeView.LoadShortIssueDWH: foreach (LoadProject loadProject_cur in loadMWH.listLoadProject) { list.Clear(); string[] line = { loadProject_cur.userProject.Id.ToString(), loadProject_cur.userProject.Name, loadProject_cur.EstimatedMWH(this.tracker).ToString("0.0") }; foreach (string s in line) { list.Add(s); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); iLine++; } list.Clear(); string[] lineSumShortIssue = { "", "Итого", loadMWH.EstimatedMonthHours(this.tracker).ToString("0.0") }; foreach (string s in lineSumShortIssue) { list.Add(s); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); AutoFitColumn(listLoadDWH); break; case TypeView.LoadShortTimeDWH: foreach (LoadProject loadProject_cur in loadMWH.listLoadProject) { list.Clear(); string[] line = { loadProject_cur.userProject.Id.ToString(), loadProject_cur.userProject.Name, loadProject_cur.FactMWH(this.tracker).ToString("0.0") }; foreach (string s in line) { list.Add(s); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); iLine++; } list.Clear(); string[] lineSumShortTime = { "", "Итого", loadMWH.FactMonthHours(this.tracker).ToString("0.0") }; foreach (string s in lineSumShortTime) { list.Add(s); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); AutoFitColumn(listLoadDWH); break; case TypeView.LoadIssueDWH: foreach (LoadIssue loadIssue in loadMWH.listLoadIssue) { if (this.tracker.Contains(loadIssue.issue.Tracker.Name) || this.tracker.Equals("план")) { User user = manager.redmineData.listUser.Find(x => x.Id == loadIssue.issue.AssignedTo.Id); list.Clear(); string userName = ""; if (user != null) { userName = user.LastName + " " + user.FirstName; } else { userName = loadIssue.issue.AssignedTo.Name; } string[] line = { loadIssue.issue.Id.ToString(), loadIssue.issue.Project.Name, loadIssue.issue.Subject, loadIssue.dateStartIssue.ToShortDateString(), loadIssue.dateFinishIssue.ToShortDateString(), loadIssue.estimatedIssueHours.ToString("0.0"), userName }; foreach (string s in line) { list.Add(s); } foreach (LoadDWH loadDWH in loadIssue.listLoadDWH) { list.Add(loadDWH.hoursDay.ToString("0.0")); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); if (this.typeViewSelect == TypeView.LoadUser) { SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More); } iLine++; } } list.Clear(); string[] lineSum = { "", "Итого в день", "", loadMWH.dateStartMonth.ToShortDateString(), loadMWH.dateFinishMonth.ToShortDateString(), loadMWH.EstimatedMonthHours(this.tracker).ToString("0.0"), "" }; foreach (string s in lineSum) { list.Add(s); } foreach (LoadDWH loadDWH in loadMWH.listLoadDWH) { list.Add(loadDWH.hoursDay.ToString("0.0")); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); if (this.typeViewSelect == TypeView.LoadUser) { SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More); } AutoFitColumn(listLoadDWH); break; case TypeView.LoadTimeDWH: foreach (LoadTimeEntry loadTime in loadMWH.listLoadTimeEntry) { if (this.tracker.Contains(loadTime.userTime.time.Activity.Name) || this.tracker.Equals("факт")) { User user = manager.redmineData.listUser.Find(x => x.Id == loadTime.userTime.time.User.Id); list.Clear(); string userName = ""; if (user != null) { userName = user.LastName + " " + user.FirstName; } else { userName = loadTime.userTime.nameUser; } string[] line = { loadTime.userTime.time.Id.ToString(), loadTime.userTime.nameProject, loadTime.userTime.subject, loadTime.dateStart.ToShortDateString(), loadTime.dateFinish.ToShortDateString(), loadTime.factMonthHours.ToString("0.0"), userName }; foreach (string s in line) { list.Add(s); } foreach (LoadDWH loadDWH in loadTime.listLoadDWH) { list.Add(loadDWH.factDayHours.ToString("0.0")); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); if (this.typeViewSelect == TypeView.LoadUser) { SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More); } iLine++; } } list.Clear(); string[] lineSumTime = { "", "Итого в день", "", loadMWH.dateStartMonth.ToShortDateString(), loadMWH.dateFinishMonth.ToShortDateString(), loadMWH.FactMonthHours(this.tracker).ToString("0.0"), "" }; foreach (string s in lineSumTime) { list.Add(s); } foreach (LoadDWH loadDWH in loadMWH.listLoadDWH) { list.Add(loadDWH.factDayHours.ToString("0.0")); } array = list.Select(i => i.ToString()).ToArray(); lvi = new ListViewItem(array); listLoadDWH.Items.Add(lvi); SetColorValue(listLoadDWH, iLine, array, 0, Color.Yellow, Operation.Equal); if (this.typeViewSelect == TypeView.LoadUser) { SetColorValue(listLoadDWH, iLine, array, 8, Color.Red, Operation.More); } AutoFitColumn(listLoadDWH); break; } }
public LoadBuilder WithGroup(LoadGroup loadGroup) { Item.Add(loadGroup); return(MySelf); }
private void AddLineNameGroup(ref int iLine, int numberYear, int numItem, ListView listOut, LoadYWH loadYWH = null, LoadUser loadUser = null, LoadGroup loadGroup = null, LoadProject loadProject = null) { List <string> listLine = new List <string>(); bool isGroup = false; if (loadGroup != null) { if (loadUser.user.LastName.Equals(loadGroup.name)) { isGroup = true; string[] lineGroup = { numItem.ToString() /*numGroup.ToString()*/, loadUser.user.LastName, "", loadGroup.CountUser.ToString(), "" }; ListViewItem lvi_group = new ListViewItem(lineGroup); lvi_group.Font = new Font(lvi_group.Font, FontStyle.Bold); lvi_group.Tag = loadUser; listOut.Items.Add(lvi_group); iLine++; MakeLineToListView(ref iLine, numberYear, "план", ref listLine, listOut, loadUser: loadUser); LoadYWH loadYWHcur = loadUser.listLoadYWH.Find(x => x.NumberYear == numberYear); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listEstimTracker) { MakeLineToListView(ref iLine, numberYear, "план " + tracker, ref listLine, listOut, loadUser: loadUser); } } MakeLineToListView(ref iLine, numberYear, "факт", ref listLine, listOut, loadUser: loadUser); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listTimeTracker) { MakeLineToListView(ref iLine, numberYear, "факт " + tracker, ref listLine, listOut, loadUser: loadUser); } } } } if ((loadUser != null) & (!isGroup) & (loadGroup == null)) { string groupName = ""; if (loadGroup == null) { foreach (UserGroupRedmine group in loadUser.listGroup) { if (groupName == "") { groupName += group.name; } else { groupName += ";" + group.name; } } } string[] lineName = { numItem.ToString() /*numUser.ToString()*/, loadUser.user.LastName + " " + loadUser.user.FirstName, groupName, "", "" }; ListViewItem lvi_name = new ListViewItem(lineName); lvi_name.Font = new Font(lvi_name.Font, FontStyle.Bold); lvi_name.Tag = loadUser; listOut.Items.Add(lvi_name); iLine++; if (typeView != TypeView.LoadExperiedUser) { //вывод на следующей строке данных по факту и плану MakeLineToListView(ref iLine, numberYear, "план", ref listLine, listOut, loadUser: loadUser); LoadYWH loadYWHcur = loadUser.listLoadYWH.Find(x => x.NumberYear == numberYear); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listEstimTracker) { MakeLineToListView(ref iLine, numberYear, "план " + tracker, ref listLine, listOut, loadUser: loadUser); } } MakeLineToListView(ref iLine, numberYear, "факт", ref listLine, listOut, loadUser: loadUser); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listTimeTracker) { MakeLineToListView(ref iLine, numberYear, "факт " + tracker, ref listLine, listOut, loadUser: loadUser); } } } } if (loadProject != null) { DateTime startProject = loadProject.StartProject; DateTime finishProject = loadProject.FinishProject; string start, finish; if (startProject.CompareTo(DateTime.MaxValue) == 0) { start = "-"; } else { start = startProject.ToShortDateString(); } if (finishProject.CompareTo(DateTime.MinValue) == 0) { finish = "-"; } else { finish = finishProject.ToShortDateString(); } string[] lineName = { numItem.ToString() /*numUser.ToString()*/, loadProject.userProject.Name, loadProject.userProject.NameHeadUser, start, finish, loadProject.PercentFinance(numberYear).ToString("0") + " %", loadProject.PercentWork(numberYear).ToString("0") + " %", "" }; ListViewItem lvi_name = new ListViewItem(lineName); lvi_name.Font = new Font(lvi_name.Font, FontStyle.Bold); lvi_name.Tag = loadProject; listOut.Items.Add(lvi_name); iLine++; MakeLineToListView(ref iLine, numberYear, "план", ref listLine, listOut, loadProject: loadProject); LoadYWH loadYWHcur = loadProject.listLoadYWH.Find(x => x.NumberYear == numberYear); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listEstimTracker) { MakeLineToListView(ref iLine, numberYear, "план " + tracker, ref listLine, listOut, loadProject: loadProject); } } //MakeLineTrackerToListView(ref iLine, numberYear, loadProject); MakeLineToListView(ref iLine, numberYear, "факт", ref listLine, listOut, loadProject: loadProject); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listTimeTracker) { MakeLineToListView(ref iLine, numberYear, "факт " + tracker, ref listLine, listOut, loadProject: loadProject); } } //MakeLineTrackerToListView(ref iLine, numberYear, loadProject); //if (typeView == TypeView.LoadProject) //{ //} if (typeView == TypeView.LoadProjectUser) { foreach (LoadUser lU in loadProject.listLoadUser) { string[] lineNameU = { numItem.ToString() /*numUser.ToString()*/, lU.user.LastName + " " + lU.user.FirstName, lU.GroupName, "", "", "", "", "" }; ListViewItem lvi_nameU = new ListViewItem(lineNameU); lvi_nameU.Font = new Font(lvi_nameU.Font, FontStyle.Bold); lvi_nameU.Tag = lU; listOut.Items.Add(lvi_nameU); iLine++; MakeLineToListView(ref iLine, numberYear, "план", ref listLine, listOut, loadUser: lU); loadYWHcur = lU.listLoadYWH.Find(x => x.NumberYear == numberYear); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listEstimTracker) { MakeLineToListView(ref iLine, numberYear, "план " + tracker, ref listLine, listOut, loadUser: lU); } } MakeLineToListView(ref iLine, numberYear, "факт", ref listLine, listOut, loadUser: lU); if (loadYWHcur != null) { foreach (string tracker in loadYWHcur.listTimeTracker) { MakeLineToListView(ref iLine, numberYear, "факт " + tracker, ref listLine, listOut, loadUser: lU); } } } } } if (loadYWH != null) { string[] lineName = { numItem.ToString(), "Планирование план/факт на " + numberYear.ToString(), "" }; ListViewItem lvi_name = new ListViewItem(lineName); lvi_name.Font = new Font(lvi_name.Font, FontStyle.Bold); listOut.Items.Add(lvi_name); iLine++; MakeLineToListView(ref iLine, numberYear, "план", ref listLine, listOut, loadYWH: loadYWH); if (loadYWH != null) { foreach (string tracker in loadYWH.listEstimTracker) { MakeLineToListView(ref iLine, numberYear, "план " + tracker, ref listLine, listOut, loadYWH: loadYWH); } } MakeLineToListView(ref iLine, numberYear, "факт", ref listLine, listOut, loadYWH: loadYWH); if (loadYWH != null) { foreach (string tracker in loadYWH.listTimeTracker) { MakeLineToListView(ref iLine, numberYear, "факт " + tracker, ref listLine, listOut, loadYWH: loadYWH); } } } }