public static dynamic GetTSObject(LoadGroup dynObject)
 {
     if (dynObject is null)
     {
         return(null);
     }
     return(dynObject.teklaObject);
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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
 }
Ejemplo n.º 7
0
        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;
            }
        }
Ejemplo n.º 8
0
 public LoadBuilder WithGroup(LoadGroup loadGroup)
 {
     Item.Add(loadGroup);
     return(MySelf);
 }
Ejemplo n.º 9
0
        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);
                    }
                }
            }
        }