예제 #1
0
        private void AddPERTTask()
        {
            bool checkName = true;

            foreach (var t in PERTTaskList)
            {
                if (t.Name == Name)
                {
                    checkName = false;
                }
            }

            if (Name != null && Name.Length > 0 && Optimistic_a > 0 && Pessimistic_b > 0 && MostLikely_m > 0 && checkName == true)
            {
                PERTTask perttask = new PERTTask(Name, Optimistic_a, Pessimistic_b, MostLikely_m, new List <PERTTask>());
                PERTTaskList.Add(perttask);
            }
            else
            {
                ErrorMessage er = new ErrorMessage("The name exists or cost < 1!");
                er.ShowDialog();
            }

            setVariable();
        }
예제 #2
0
        private void AddPreTask()
        {
            if (SelectedTaskWhereAddThePretask == null || SelectedTaskWhichIsPretask == null)
            {
                ErrorMessage er = new ErrorMessage("Error - null value!");
                er.ShowDialog();
                return;
            }

            if (SelectedTaskWhereAddThePretask.Name == SelectedTaskWhichIsPretask.Name)
            {
                ErrorMessage er = new ErrorMessage("Error - cyclic dependency!");
                er.ShowDialog();
                return;
            }

            foreach (var t in SelectedTaskWhereAddThePretask.PreTask)
            {
                if (t.Name == SelectedTaskWhichIsPretask.Name)
                {
                    ErrorMessage er = new ErrorMessage("Error - the dependency exists!");
                    er.ShowDialog();
                    return;
                }
            }

            SelectedTaskWhereAddThePretask.PreTask.Add(SelectedTaskWhichIsPretask);
            setVariable();
        }
예제 #3
0
        private void AddBonus()
        {
            ManagerValidation MV = new ManagerValidation();
            bool correctForm     = MV.BonusAmountValidation(BonusAmount);

            if (correctForm)
            {
                PayoutBonus payoutBonus = new PayoutBonus()
                {
                    DateOfGrantiedBonuses = GrantedBonus,
                    Value = BonusAmount,
                    User  = SelectedUserInTeamPayout
                };

                dbContext.PayoutBonus.Add(payoutBonus);
                dbContext.SaveChanges();

                GrantedBonus             = DateTime.Now;
                BonusAmount              = 0;
                SelectedUserInTeamPayout = null;

                ErrorMessage er = new ErrorMessage("Add payout bonus!");
                er.ShowDialog();
            }
        }
예제 #4
0
        private void AddArticle()
        {
            EmployeeValidation VM = new EmployeeValidation();
            bool correctForm      = VM.WikiValidation(Url, Description);

            if (correctForm)
            {
                Article article = new Article()
                {
                    Url         = _Url,
                    Description = _Description,
                    DateAdded   = DateTime.Now,
                    UserID      = Global.user.UserID
                };

                dbContext.Article.Add(article);
                dbContext.SaveChanges();

                Articles = new ObservableCollection <Article>(dbContext.Article);

                setVariableWhenAddArticle();

                ErrorMessage er = new ErrorMessage("Add article!");
                er.ShowDialog();
            }
        }
예제 #5
0
        private void AddClient()
        {
            ManagerValidation VM = new ManagerValidation();
            bool correctForm     = VM.ClientValidation(FirstName, LastName, CompanyName, NIP, REGON);

            if (correctForm)
            {
                Client client;

                client = AddClientObject();

                dbContext.Client.Add(client);
                dbContext.SaveChanges();


                _FilteredClients = new ObservableCollection <Client>(dbContext.Client);
                _Clients         = new ObservableCollection <Client>(dbContext.Client);

                RaisePropertyChanged("FilteredClients");
                RaisePropertyChanged("Clients");

                clear();

                ErrorMessage er = new ErrorMessage("Client created successfully!");
                er.ShowDialog();
            }
        }
예제 #6
0
        bool checkWhichAreCyclicDependency()
        {
            List <MainTask> calc        = new List <MainTask>();
            List <MainTask> tmpTaskList = new List <MainTask>(ProjectMainTasks);

            while (tmpTaskList.Count() != 0)
            {
                bool error = false;

                foreach (MainTask task in tmpTaskList.ToList())
                {
                    bool tmp = check(calc, task.PrecedingMainTasks.ToList());

                    if (tmp)
                    {
                        calc.Add(task);
                        tmpTaskList.Remove(task);
                        error = true;
                    }
                }

                if (!error)
                {
                    ErrorMessage e = new ErrorMessage("Cyclic dependency!");
                    e.ShowDialog();
                    return(false);
                }
            }

            return(true);
        }
예제 #7
0
        private void EditClient()
        {
            ManagerValidation VM = new ManagerValidation();
            bool correctForm     = VM.ClientValidation(EditFirstName, EditLastName, EditCompanyName, EditNIP, EditREGON);

            if (correctForm)
            {
                MySelectedClient.FirstName = EditFirstName;
                MySelectedClient.LastName  = EditLastName;

                MySelectedClient.CompanyName = EditCompanyName;

                MySelectedClient.NIP             = EditNIP;
                MySelectedClient.REGON           = EditREGON;
                MySelectedClient.Street          = EditStreet;
                MySelectedClient.HouseNumber     = EditHouseNumber;
                MySelectedClient.ApartmentNumber = EditApartmentNumber;
                MySelectedClient.Postcode        = EditPostcode;
                MySelectedClient.City            = EditCity;

                dbContext.SaveChanges();


                _FilteredClients = new ObservableCollection <Client>(dbContext.Client);
                _Clients         = new ObservableCollection <Client>(dbContext.Client);

                RaisePropertyChanged("FilteredClients");
                RaisePropertyChanged("Clients");

                clear();

                ErrorMessage er = new ErrorMessage("Client edit successfully!");
                er.ShowDialog();
            }
        }
예제 #8
0
        private void ChangeStatus()
        {
            //globalne db context?


            SelectedSubtask.SubtaskStatusID = SelectedSubtaskStatus.SubtaskStatusID;


            RecentActivity ra = new RecentActivity
            {
                DateAdded   = DateTime.Now,
                TeamID      = (int)Global.user.TeamID,
                Description = $"User {Global.user.FullName} has changed the status of a task from '{SelectedSubtask.Name}' to '{SelectedSubtaskStatus.Name}'"
            };


            dbContext.RecentActivity.Add(ra);
            dbContext.SaveChanges();



            Subtasks        = new ObservableCollection <Subtask>(dbContext.Subtask.Where(x => x.UserID == Global.user.UserID));
            SelectedSubtask = null;
            ErrorMessage er = new ErrorMessage("Subtask status change successfully!");

            er.ShowDialog();
        }
예제 #9
0
        private void EditClient()
        {
            AdminValidation VM          = new AdminValidation();
            bool            correctForm = VM.ClientValidation(FirstName, LastName, CompanyName, NIP, REGON);

            if (correctForm)
            {
                MySelectedClient.FirstName = FirstName;
                MySelectedClient.LastName  = LastName;

                MySelectedClient.CompanyName = CompanyName;

                MySelectedClient.NIP             = NIP;
                MySelectedClient.REGON           = REGON;
                MySelectedClient.Street          = Street;
                MySelectedClient.HouseNumber     = HouseNumber;
                MySelectedClient.ApartmentNumber = ApartmentNumber;
                MySelectedClient.Postcode        = Postcode;
                MySelectedClient.City            = City;

                dbContext.SaveChanges();

                Clients = new ObservableCollection <Client>(dbContext.Client);

                setVariable();

                ErrorMessage er = new ErrorMessage("Client edit successfully!");
                er.ShowDialog();
            }
        }
예제 #10
0
        private void AddPreMainTask()
        {
            if (SelectedMainTaskWhereAddThePretask == null || SelectedMainTaskWhichIsPretask == null)
            {
                ErrorMessage er = new ErrorMessage("Wybierz wartosci, nie moga byc null!");
                er.ShowDialog();
                return;
            }

            if (SelectedMainTaskWhereAddThePretask.Name == SelectedMainTaskWhichIsPretask.Name)
            {
                ErrorMessage er = new ErrorMessage("Nazwy nie mogá by takie same!");
                er.ShowDialog();
                return;
            }

            foreach (var t in SelectedMainTaskWhereAddThePretask.PrecedingMainTasks)
            {
                if (t.Name == SelectedMainTaskWhichIsPretask.Name)
                {
                    ErrorMessage er = new ErrorMessage("To zadanie jest juz tutaj dodane jako poprzedzajace!");
                    er.ShowDialog();
                    return;
                }
            }

            SelectedMainTaskWhereAddThePretask.PrecedingMainTasks.Add(SelectedMainTaskWhichIsPretask);

            setVariable();
        }
예제 #11
0
        /// <summary>
        /// sprawdzam czy user ma jeszce jakies subtaski
        /// </summary>
        /// <param name="user"></param>
        /// <param name="teamParam"></param>
        /// <returns></returns>
        bool EditUserTeamValidation(User user, string teamParam)
        {
            PMSContext dbContext = new PMSContext();

            if (user.UserRole.Name != "Admin")
            {
                if (user.Team.Name == teamParam)
                {
                    return(true);
                }
                else
                {
                    int _allTask = dbContext.Subtask.Where(x => (x.UserID == user.UserID) && ((x.SubtaskStatus.Name == "New") || (x.SubtaskStatus.Name == "In progress"))).Count();
                    if (_allTask == 0)
                    {
                        return(true);
                    }
                    else
                    {
                        ErrorMessage er = new ErrorMessage("User has new or in progress task!");
                        er.ShowDialog();
                        return(false);
                    }
                }
            }
            else
            {
                return(true);
            }
        }
예제 #12
0
        private void AddMainTask()
        {
            bool checkName = true;

            foreach (var t in ProjectMainTasks)
            {
                if (t.Name == NameMainTask)
                {
                    checkName = false;
                }
            }

            if (checkName == true && Effort > 0 && NameMainTask.Length > 0)
            {
                MainTask mainTask = new MainTask
                {
                    Name               = NameMainTask,
                    Effort             = Effort,
                    EarlyFinish        = EarlyFinish,
                    EarlyStart         = EarlyStart,
                    LateFinish         = LateFinish,
                    LateStart          = LateStart,
                    PrecedingMainTasks = new List <MainTask>(),
                    Status             = false
                };
                ProjectMainTasks.Add(mainTask);
            }
            else
            {
                ErrorMessage er = new ErrorMessage("The name exists or effort <= 0!");
                er.ShowDialog();
            }

            setVariable();
        }
예제 #13
0
        private void AddResources()
        {
            bool checkName = true;

            foreach (var t in ProjectResources)
            {
                if (t.Name == NameResource)
                {
                    checkName = false;
                }
            }

            if (checkName == true && CostResource > 0 && NameResource.Length > 0)
            {
                Resources resource = new Resources
                {
                    Name = NameResource,
                    Cost = CostResource
                };
                ProjectResources.Add(resource);
            }
            else
            {
                ErrorMessage er = new ErrorMessage("The name exists or cost <= 0!");
                er.ShowDialog();
            }
        }
예제 #14
0
        private void AddResources()
        {
            bool checkName = true;

            foreach (var t in ListOfResources)
            {
                if (t.Name == NameResource)
                {
                    checkName = false;
                }
            }

            if (checkName == true && CostResource > 0 && NameResource.Length > 0)
            {
                Resources resource = new Resources
                {
                    Name    = NameResource,
                    Cost    = CostResource,
                    Project = SelectedProject //czy dobrze???
                };

                dbContext.Resources.Add(resource);
                dbContext.SaveChanges();

                ListOfResources = new ObservableCollection <Resources>(dbContext.Resources.Where(x => x.ProjectID == SelectedProject.ProjectID));

                ErrorMessage er = new ErrorMessage("Operation successfully!");
                er.ShowDialog();
            }
            else
            {
                ErrorMessage er = new ErrorMessage("The name exists or cost <= 0!");
                er.ShowDialog();
            }
        }
예제 #15
0
        private void ChangeStatus()
        {
            SelectedProject.ProjectStatus = SelectedProjectStatus;
            dbContext.SaveChanges();

            ErrorMessage er = new ErrorMessage("Project status update successfully!");

            er.ShowDialog();
        }
예제 #16
0
        private void UpdateCost()
        {
            if (Cost > 0)
            {
                SelectedProject.Cost = Cost;
                dbContext.SaveChanges();

                ErrorMessage er = new ErrorMessage("Update cost successfully!");
                er.ShowDialog();
            }
        }
예제 #17
0
        private void RemovePreTask()
        {
            if (SelectedRemovePretask == null || SelectedTaskWhereRemoveThePretask == null)
            {
                ErrorMessage er = new ErrorMessage("Error - null value!!");
                er.ShowDialog();
                return;
            }

            SelectedTaskWhereRemoveThePretask.PreTask.Remove(SelectedRemovePretask);
            setVariable();
        }
예제 #18
0
 bool AddUserTeamValidation(string team, string userRole)
 {
     if ((team != null && userRole != "Admin") || (team == null && userRole == "Admin"))
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect team!");
         er.ShowDialog();
         return(false);
     }
 }
예제 #19
0
 bool CompanyNameValidation(string companyName)
 {
     if (companyName != null && companyName != "")
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect company name!");
         er.ShowDialog();
         return(false);
     }
 }
예제 #20
0
 bool DescriptionTaskValidation(string description)
 {
     if (description.Length >= 20)
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect description! Description has less than 20 characters.");
         er.ShowDialog();
         return(false);
     }
 }
예제 #21
0
 bool FiredDateValidation(DateTime firedDate, DateTime hiredDate)
 {
     if (firedDate.CompareTo(hiredDate) > 0)
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect fired date!");
         er.ShowDialog();
         return(false);
     }
 }
예제 #22
0
 bool UrlValidation(string url)
 {
     if (Regex.IsMatch(url, @"^(http|https|ftp|)\://|[a-zA-Z0-9\-\.]+\.[a-zA-Z](:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&amp;%\$#\=~])*[^\.\,\)\(\s]$"))
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect url!");
         er.ShowDialog();
         return(false);
     }
 }
예제 #23
0
 bool NameTaskValidation(string nameTask)
 {
     if (nameTask.Length >= 6)
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect name task! Description has less than 6 characters.");
         er.ShowDialog();
         return(false);
     }
 }
예제 #24
0
 bool NIPValidation(string NIP)
 {
     if (Regex.IsMatch(NIP, @"\d{10}"))
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect NIP! Required 10 digits");
         er.ShowDialog();
         return(false);
     }
 }
예제 #25
0
 bool PhoneNumberValidation(string phoneNumber)
 {
     if (Regex.IsMatch(phoneNumber, @"\d{3}-\d{3}-\d{3}"))
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect phone number! Required format xxx-xxx-xxx");
         er.ShowDialog();
         return(false);
     }
 }
예제 #26
0
 bool SalaryValidation(double salary)
 {
     if (salary > 0)
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect salary! The salary must be greater than 0.");
         er.ShowDialog();
         return(false);
     }
 }
예제 #27
0
 bool PasswordValidation(string password)
 {
     if (password.Length >= 6)
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect password! Password has less than 6 characters.");
         er.ShowDialog();
         return(false);
     }
 }
예제 #28
0
 bool REGONValidation(string REGON)
 {
     if (Regex.IsMatch(REGON, @"\d{9}") || Regex.IsMatch(REGON, @"\d{14}"))
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect REGON! Required 9 or 14 digits");
         er.ShowDialog();
         return(false);
     }
 }
예제 #29
0
 bool LastNameValidation(string lastName)
 {
     if (Regex.IsMatch(lastName, @"[a-zA-Z]"))
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect last name! Only uppercase and lowercase letters are required");
         er.ShowDialog();
         return(false);
     }
 }
예제 #30
0
 bool TeamNameEditValidation(string teamName)
 {
     if (teamName.Length >= 5)
     {
         return(true);
     }
     else
     {
         ErrorMessage er = new ErrorMessage("Incorrect team name! Team name has less than 5 characters.");
         er.ShowDialog();
         return(false);
     }
 }