public IActionResult SaveNewProject(ProjectViewModel model)
        {
            Dal            dal = new Dal();
            Collaborateurs c   = dal.GetCollaborateurs(HttpContext.User.Identity.Name);

            if (ModelState.IsValid)
            {
                var project = new Leaf.DAL.ScaffoldedModels.Projet {
                    Nom = model.ProjectName, Debut = model.StartDate, Echeance = model.EndDate, Client = model.ProjectClient, Responsable = model.ProjectLeader
                };

                bool result = dal.SaveNewProject(project);

                if (result)
                {
                    var returnModel = new ProjectsViewModel
                    {
                        projets = dal.GetProjets(c)
                    };
                    foreach (var projet in returnModel.projets)
                    {
                        projet.ClientNavigation      = dal.GetClient(projet.Client);
                        projet.ResponsableNavigation = dal.GetCollaborateurs(projet.Responsable);
                    }
                    if (c.Id == project.Responsable)
                    {
                        dal.AddNotification(project.Responsable, project.Id, null, "Votre nouveau projet a bien été créé.", DateTime.Now);
                    }
                    else
                    {
                        if (dal.IsProjectManager(c.Mail, project.Id))
                        {
                            dal.AddNotification(project.Responsable, project.Id, null, "Vous avez été assigné à un nouveau projet par son chef :  " + c.Prenom + " " + c.Nom + ".", DateTime.Now);
                        }
                        else
                        {
                            dal.AddNotification(project.Responsable, project.Id, null, "Vous avez été assigné à un nouveau projet par un administrateur.", DateTime.Now);
                        }
                    }

                    return(View("ProjectList", returnModel));
                }
            }
            ;


            model._clients            = dal.GetClients(c);
            model._projectManagerList = dal.getProjectManagers();

            return(View("ProjectCreation", model));
        }
Esempio n. 2
0
        public IActionResult SaveNewCollab(CollabViewModel model)
        {
            Dal    dal = new Dal();
            string h   = "";

            for (int i = 0; i < model.CollabStatus.Length; i++)
            {
                h += Char.ToUpper(model.CollabStatus[i]);
            }
            Collaborateurs nCollab = new Collaborateurs
            {
                Identifiant = model.CollabId,
                Nom         = model.CollabLastName,
                Prenom      = model.CollabFirstName,
                Mail        = model.CollabMail,
                Mdp         = model.CollabPasswrd,
                Statut      = h
            };

            bool saved = dal.MakeNewCollab(nCollab);

            if (saved)
            {
                dal.AddNotification(nCollab.Id, null, null, "Bienvenue sur Leaf ! N'hésitez pas à contacter un administrateur en cas de problèmes ou si vous avez des questions", DateTime.Now);
                if (model.Statut == ViewModel.LoginPartialViewModel.StatutEnum.SuperAdmin)
                {
                    var modlist = new CollaborateursViewModel {
                        Collaborateurs = dal.AllCollaborateurs
                    };
                    return(View("CollabList", modlist));
                }
                else
                {
                    var modlist = new CollaborateursViewModel {
                        Collaborateurs = dal.AllCollaborateurs.FindAll(c => !c.Statut.Contains("ADMIN"))
                    };
                    return(View("CollabList", modlist));
                }
            }

            return(View("CollabCreation", model));
        }