public ActionResult AllProjets(int?pageIndex)
        {
            ProjetRepositery prtRep = new ProjetRepositery();
            int countElementPage    = 10;
            var projets             = prtRep.allProjects();

            if (projets.Count() == 0)
            {
                ViewData["erreurMessage"] = "Aucun Projet!";
                ViewData["element"]       = "Projet";
                ViewData["create"]        = "true";
                return(View("ErrorEmptyList"));
            }
            List <ProjectsModel> projetsModel = new List <ProjectsModel>();

            foreach (var prjt in projets)
            {
                ProjectsModel  prjtModel = new ProjectsModel();
                CustomersModel Customer  = new CustomersModel();
                prjtModel.Project_ID  = prjt.Project_ID;
                prjtModel.Pole_ID     = prjt.Pole_ID;
                prjtModel.Description = prjt.Description;
                prjtModel.Budget      = prjt.Budget;
                prjtModel.Name        = prjt.Name;
                Customer.Name         = prtRep.GetByIdCutomer(prjt.Customer_ID).Name;
                prjtModel.Customers   = Customer;
                projetsModel.Add(prjtModel);
            }
            IQueryable <ProjectsModel>    listProjets = projetsModel.AsQueryable();
            PaginatedList <ProjectsModel> lst         = new PaginatedList <ProjectsModel>(listProjets, pageIndex, countElementPage);

            return(View("AllProjects", lst));
        }
        public ActionResult Searche(String query, int?pageIndex)
        {
            var countElementPage       = 10;
            ProjetRepositery projetRep = new ProjetRepositery();
            var projets = projetRep.getSerachingProjects(query);
            List <ProjectsModel> projetsModel = new List <ProjectsModel>();
            CustomersModel       customer     = new CustomersModel();

            foreach (var prjt in projets)
            {
                ProjectsModel prjtModel = new ProjectsModel();
                prjtModel.Project_ID  = prjt.Project_ID;
                prjtModel.Pole_ID     = prjt.Pole_ID;
                prjtModel.Description = prjt.Description;
                prjtModel.Budget      = prjt.Budget;
                prjtModel.Name        = prjt.Name;
                customer.Name         = projetRep.GetByIdCutomer(prjt.Customer_ID).Name;
                prjtModel.Customers   = customer;
                projetsModel.Add(prjtModel);
            }
            IQueryable <ProjectsModel>    listProjets = projetsModel.AsQueryable();
            PaginatedList <ProjectsModel> lst         = new PaginatedList <ProjectsModel>(listProjets, pageIndex, countElementPage);

            return(View("AllProjects", lst));
        }
        public PartialViewResult ListProject(Guid customerId)
        {
            ProjetRepositery      prjtRepo          = new ProjetRepositery();
            IQueryable <Projects> projectsList      = prjtRepo.GetProjectsByIdCutomer(customerId);
            List <ProjectsModel>  projectsListModel = new List <ProjectsModel>();

            foreach (var prjt in projectsList)
            {
                ProjectsModel  prjtModel = new ProjectsModel();
                CustomersModel Customer  = new CustomersModel();
                prjtModel.Project_ID  = prjt.Project_ID;
                prjtModel.Pole_ID     = prjt.Pole_ID;
                prjtModel.Description = prjt.Description;
                prjtModel.Budget      = prjt.Budget;
                prjtModel.Name        = prjt.Name;
                Customer.Name         = prjtRepo.GetByIdCutomer(prjt.Customer_ID).Name;
                prjtModel.Customers   = Customer;
                projectsListModel.Add(prjtModel);
            }
            var expanseViewModel = new ExpansesModel
            {
                ProjectsList = projectsListModel
            };

            return(PartialView("_ProjectItem", expanseViewModel));
        }
        public ActionResult edit(Guid id)
        {
            ProjetRepositery prtRep    = new ProjetRepositery();
            Projects         projet    = prtRep.GetById(id);
            ProjectsModel    prjtModel = new ProjectsModel();

            prjtModel.Project_ID  = projet.Project_ID;
            prjtModel.Name        = projet.Name;
            prjtModel.Description = projet.Description;
            prjtModel.Budget      = projet.Budget;
            prjtModel.Customer_ID = projet.Customer_ID;
            prjtModel.Pole_ID     = projet.Pole_ID;
            return(View("EditProject", prjtModel));
        }
        public ActionResult Delete(Guid id)
        {
            ProjetRepositery         prjtRepo  = new ProjetRepositery();
            Projects                 project   = prjtRepo.GetById(id);
            ExpanseRepositery        expRep    = new ExpanseRepositery();
            ExpanseRepportRepositery expRepRep = new ExpanseRepportRepositery();
            List <Expanses>          expList   = expRep.GetByProject(id).ToList();

            foreach (var expanse in expList)
            {
                expRep.Delete(expanse);
            }
            expRep.Save();
            prjtRepo.Delete(project);
            prjtRepo.Save();
            return(RedirectToAction("AllProjets"));
        }
        // GET: Projet
        public ActionResult Index(Guid?id_Customer)
        {
            ProjetRepositery prtRep    = new ProjetRepositery();
            ProjectsModel    prjtModel = new ProjectsModel();

            if (prtRep.getAllCustomers().ToList().Count() == 0 || prtRep.getAllPoles().ToList().Count() == 0)
            {
                ViewData["erreur"] = "Customers et des Poles ";
                return(View("ErrorEmptyElement"));
            }
            prjtModel.CustomersList = prtRep.getAllCustomers().ToList();

            prjtModel.PolesList     = prtRep.getAllPoles().ToList();
            ViewData["id_Customer"] = id_Customer;

            return(View("ProjectFormulaire", prjtModel));
        }
        public ActionResult Delete(Guid id)
        {
            ProjetController   prjtControleur = new ProjetController();
            CustomerRepositery cutoRepo       = new CustomerRepositery();
            Customers          cutomer        = cutoRepo.GetById(id);
            ProjetRepositery   prjtRepo       = new ProjetRepositery();
            List <Projects>    projets        = prjtRepo.GetByCustomerId(id).ToList();

            foreach (var pro in projets)
            {
                prjtControleur.Delete(pro.Project_ID);
            }
            prjtRepo.Save();
            cutoRepo.Delete(cutomer);
            cutoRepo.Save();
            return(RedirectToAction("AllCustomer"));
        }
        public ActionResult updateProject(Guid id)
        {
            ProjetRepositery prtRep    = new ProjetRepositery();
            ProjectsModel    prjtModel = new ProjectsModel();
            Projects         projet    = prtRep.GetById(id);

            if (!ModelState.IsValidField("Name") || !ModelState.IsValidField("Budget"))
            {
                prjtModel.Project_ID    = projet.Project_ID;
                prjtModel.Name          = projet.Name;
                prjtModel.Description   = projet.Description;
                prjtModel.CustomersList = prtRep.getAllCustomers().ToList();
                prjtModel.PolesList     = prtRep.getAllPoles().ToList();
                return(View("EditProject", prjtModel));
            }

            String name        = Convert.ToString(Request.Form["Name"]);
            string description = Convert.ToString(Request.Form["Description"]);
            double budget      = Convert.ToDouble(Request.Form["Budget"]);

            prtRep.updateProject(projet, name, description, budget);
            return(RedirectToAction("AllProjets"));
        }
        public ActionResult Delete(Guid id)
        {
            PolesRepository          poleRep   = new PolesRepository();
            ProjetRepositery         prjtRepo  = new ProjetRepositery();
            ExpanseRepositery        expRep    = new ExpanseRepositery();
            EmployesRepositery       empRepo   = new EmployesRepositery();
            ExpanseRepportRepositery expRepRep = new ExpanseRepportRepositery();
            List <Projects>          projets   = prjtRepo.GetByIdPole(id).ToList();

            foreach (var pro in projets)
            {
                List <Expanses> expList = expRep.GetByProject(pro.Project_ID).ToList();
                foreach (var expanse in expList)
                {
                    expRep.Delete(expanse);
                }
                expRep.Save();
                prjtRepo.Delete(pro);
            }
            prjtRepo.Save();
            foreach (var empl in empRepo.getByIdPole(id))
            {
                List <ExpanseReports> expanseReports = expRepRep.GetByEmployesId(empl.Employee_ID).ToList();
                foreach (var expRepo in expanseReports)
                {
                    expRepRep.Delete(expRepo);
                }
                expRepRep.Save();
                empRepo.Delete(empl);
            }
            empRepo.Save();
            Poles pole = poleRep.GetById(id);

            poleRep.Delete(pole);
            poleRep.Save();
            return(RedirectToAction("AllPoles"));
        }
        public ActionResult createProject(ProjectsModel projetModel, Guid?id_Customer)
        {
            ProjetRepositery prtRep = new ProjetRepositery();

            if (!ModelState.IsValidField("Name") || !ModelState.IsValidField("Budget"))
            {
                projetModel.CustomersList = prtRep.getAllCustomers().ToList();
                projetModel.PolesList     = prtRep.getAllPoles().ToList();
                return(View("ProjectFormulaire", projetModel));
            }
            ViewData["id_Customer"] = id_Customer;
            Projects projet = new Projects();

            projet.Project_ID  = Guid.NewGuid();
            projet.Name        = Convert.ToString(Request.Form["Name"]);
            projet.Description = Convert.ToString(Request.Form["Description"]);
            projet.Budget      = Convert.ToDouble(Request.Form["Budget"]);


            projet.Customer_ID = id_Customer != null ? (Guid)id_Customer : new Guid(Convert.ToString(Request.Form["customersList"]));
            projet.Pole_ID     = new Guid(Convert.ToString(Request.Form["polesList"]));
            prtRep.AddProjet(projet);
            return(RedirectToAction("AllProjets"));
        }
        public ActionResult Popup(Guid idExpanseReport)
        {
            CustomerRepositery       cstRepo               = new CustomerRepositery();
            ProjetRepositery         prjtRepo              = new ProjetRepositery();
            ExpanseTypesRepositery   expTypRepo            = new ExpanseTypesRepositery();
            List <CustomersModel>    customersModel        = new List <CustomersModel>();
            List <ProjectsModel>     projectsListModel     = new List <ProjectsModel>();
            List <ExpanseTypesModel> expansesTypeListModel = new List <ExpanseTypesModel>();

            ViewData["empty"] = "false";

            IQueryable <Customers> costumers = cstRepo.getlistCustomersHasProject();

            foreach (var cust in costumers)
            {
                CustomersModel custModel = new CustomersModel();
                custModel.Customer_ID = cust.Customer_ID;
                custModel.Code        = cust.Code;
                custModel.Name        = cust.Name;
                customersModel.Add(custModel);
            }

            IQueryable <Projects> projectsList = prjtRepo.allProjects();

            foreach (var prjt in projectsList)
            {
                ProjectsModel  prjtModel = new ProjectsModel();
                CustomersModel Customer  = new CustomersModel();
                prjtModel.Project_ID  = prjt.Project_ID;
                prjtModel.Pole_ID     = prjt.Pole_ID;
                prjtModel.Description = prjt.Description;
                prjtModel.Budget      = prjt.Budget;
                prjtModel.Name        = prjt.Name;
                Customer.Name         = prjtRepo.GetByIdCutomer(prjt.Customer_ID).Name;
                prjtModel.Customers   = Customer;
                projectsListModel.Add(prjtModel);
            }

            IQueryable <ExpanseTypes> expanseTypes = expTypRepo.allExpanseTypes();

            if (User.IsInRole("manager"))
            {
                expanseTypes = expTypRepo.allExpanseTypesManager();
            }

            foreach (var expTpe in expanseTypes)
            {
                ExpanseTypesModel expenseTypeModel = new ExpanseTypesModel();
                expenseTypeModel.ExpenseType_ID = expTpe.ExpenseType_ID;
                expenseTypeModel.Name           = expTpe.Name;
                expenseTypeModel.Ceiling        = expTpe.Ceiling;
                expenseTypeModel.Fixed          = expTpe.Fixed;
                expenseTypeModel.OnlyManagers   = expTpe.OnlyManagers;
                expenseTypeModel.Tva_ID         = expTpe.Tva_ID;
                expansesTypeListModel.Add(expenseTypeModel);
            }

            if (customersModel.Count() == 0 || projectsListModel.Count() == 0 || expansesTypeListModel.Count() == 0)
            {
                ViewData["erreur"] = "Customers , Projets et des ExpanseType";
                ViewData["empty"]  = "true";
            }
            var expanseViewModel = new ExpansesModel
            {
                CustomersList    = customersModel,
                ProjectsList     = projectsListModel,
                ExpanseTypesList = expansesTypeListModel
            };

            expanseViewModel.ExpanseReport_ID = idExpanseReport;

            return(PartialView("_AddType", expanseViewModel));
        }