public ActionResult update(Guid id)
        {
            ExpanseTypesRepositery expTypeRep   = new ExpanseTypesRepositery();
            ExpanseTypes           expTypes     = expTypeRep.getById(id);
            ExpanseTypesModel      expTypeModel = new ExpanseTypesModel();

            if (!ModelState.IsValid)
            {
                TvasRepositery tvaRepo = new TvasRepositery();
                var            tvaLis  = tvaRepo.allTvas().ToList();
                expTypeModel.tvaList        = tvaLis;
                expTypeModel.ExpenseType_ID = expTypes.ExpenseType_ID;
                expTypeModel.Name           = expTypes.Name;
                expTypeModel.Ceiling        = expTypes.Ceiling;
                expTypeModel.Fixed          = expTypes.Fixed;
                expTypeModel.OnlyManagers   = expTypes.OnlyManagers;
                return(View("EditExpansesTypes", expTypeModel));
            }
            String  name         = Convert.ToString(Request.Form["Name"]);
            double  ceiling      = Convert.ToDouble(Request.Form["Ceiling"]);
            Boolean fixe         = Convert.ToBoolean(Request.Form["Fixed"]);
            Boolean OnlyManagers = Convert.ToBoolean(Request.Form["OnlyManagers"]);

            expTypeRep.updateExpanseType(expTypes, name, ceiling, fixe, OnlyManagers);
            return(RedirectToAction("AllExpanseTypes"));
        }
        public ActionResult Searche(String query, int?pageIndex, Guid id)
        {
            var countElementPage      = 10;
            ExpanseRepositery expRepo = new ExpanseRepositery();
            var expanses = expRepo.getSerachingExpanses(query, id);
            List <ExpansesModel> expanseModel = new List <ExpansesModel>();

            ViewData["idExpanseReport"] = id;
            foreach (var exp in expanses)
            {
                ExpansesModel       expanse        = new ExpansesModel();
                CustomersModel      customer       = new CustomersModel();
                ExpanseTypesModel   expType        = new ExpanseTypesModel();
                ExpanseReportsModel expanseRapport = new ExpanseReportsModel();
                ProjectsModel       projet         = new ProjectsModel();
                expanse.Expanse_ID     = exp.Expanse_ID;
                expanse.Amount_HT      = exp.Amount_HT;
                expanse.Amount_TTC     = exp.Amount_TTC;
                expanse.Amount_TVA     = exp.Amount_TVA;
                customer.Name          = expRepo.GetByIdCutomer(exp.Customer_ID).Name;
                projet.Name            = expRepo.GetByIdProjects(exp.Project_ID).Name;
                expType.Name           = expRepo.GetByIdExpanseTypes(exp.ExpanseType_ID).Name;
                expanseRapport.Year    = expRepo.GetByIdExpansesRepport(exp.ExpanseReport_ID).Year;
                expanse.Customers      = customer;
                expanse.Projects       = projet;
                expanse.ExpanseReports = expanseRapport;
                expanse.ExpanseTypes   = expType;
                expanseModel.Add(expanse);
            }
            IQueryable <ExpansesModel>    listCust = expanseModel.AsQueryable();
            PaginatedList <ExpansesModel> lst      = new PaginatedList <ExpansesModel>(listCust, pageIndex, countElementPage);

            return(View("AllExpanses", lst));
        }
        public ActionResult createExpansTypes(ExpanseTypesModel expansTypeModel)
        {
            if (Convert.ToBoolean(Request.Form["Fixed"]) == true)
            {
            }
            if (!ModelState.IsValid)
            {
                TvasRepositery tvaRepo = new TvasRepositery();
                var            tvaLis  = tvaRepo.allTvas().ToList();
                expansTypeModel.tvaList = tvaLis;
                return(View("ExpansTypeFormulaire", expansTypeModel));
            }
            ExpanseTypes           expansType = new ExpanseTypes();
            ExpanseTypesRepositery expTypeRep = new ExpanseTypesRepositery();

            expansType.ExpenseType_ID = Guid.NewGuid();
            expansType.Name           = Convert.ToString(Request.Form["Name"]);
            if (Request.Form["Ceiling"] == null || string.IsNullOrWhiteSpace(Request.Form["Ceiling"]))
            {
                expansType.Ceiling = 0;
            }
            else
            {
                expansType.Ceiling = Convert.ToDouble(Request.Form["Ceiling"]);
            }
            expansType.Fixed        = Convert.ToBoolean(Request.Form["Fixed"]);
            expansType.OnlyManagers = Convert.ToBoolean(Request.Form["OnlyManagers"]);
            expansType.Tva_ID       = new Guid(Convert.ToString(Request.Form["tvaSelect"]));
            expTypeRep.AddExpanseType(expansType);
            return(RedirectToAction("AllExpanseTypes"));
        }
        public ActionResult Searche(String query, int?pageIndex)
        {
            var countElementPage = 10;
            ExpanseTypesRepositery expTypeRep = new ExpanseTypesRepositery();
            TvasRepositery         tvaRepo    = new TvasRepositery();
            TvasModel tvaModel     = new TvasModel();
            var       expanseTypes = expTypeRep.getSerachingExpanses(query);
            List <ExpanseTypesModel> expanseTypesModel = new List <ExpanseTypesModel>();

            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;
                tvaModel.Name         = tvaRepo.tvasById(expTpe.Tva_ID).Name;
                tvaModel.TVA_ID       = tvaRepo.tvasById(expTpe.Tva_ID).TVA_ID;
                tvaModel.Value        = tvaRepo.tvasById(expTpe.Tva_ID).Value;
                expenseTypeModel.Tvas = tvaModel;
                expanseTypesModel.Add(expenseTypeModel);
            }
            IQueryable <ExpanseTypesModel>    listEpanTypes = expanseTypesModel.AsQueryable();
            PaginatedList <ExpanseTypesModel> lst           = new PaginatedList <ExpanseTypesModel>(listEpanTypes, pageIndex, countElementPage);

            return(View("AllExpansesTypes", lst));
        }
        public ActionResult edit(Guid id)
        {
            ExpanseTypesRepositery expTypeRep   = new ExpanseTypesRepositery();
            ExpanseTypes           expTypes     = expTypeRep.getById(id);
            ExpanseTypesModel      expTypeModel = new ExpanseTypesModel();

            expTypeModel.ExpenseType_ID = expTypes.ExpenseType_ID;
            expTypeModel.Name           = expTypes.Name;
            expTypeModel.Ceiling        = expTypes.Ceiling;
            expTypeModel.Fixed          = expTypes.Fixed;
            expTypeModel.OnlyManagers   = expTypes.OnlyManagers;
            return(View("EditExpansesTypes", expTypeModel));
        }
        public ActionResult AllExpanses(int?pageIndex, Guid idExpanseReport)
        {
            ExpanseRepositery expRepo = new ExpanseRepositery();
            double            ttc     = 0;
            double            tva     = 0;
            double            ht      = 0;

            var countElementPage = 10;
            var expanses         = expRepo.GetAllByIdExpansesRepport(idExpanseReport);

            ViewData["idExpanseReport"] = idExpanseReport;
            List <ExpansesModel> expanseModel = new List <ExpansesModel>();

            foreach (var exp in expanses)
            {
                tva = tva + exp.Amount_TVA;
                ht  = ht + exp.Amount_HT;
                ttc = ttc + exp.Amount_TTC;
                ExpansesModel       expanse        = new ExpansesModel();
                CustomersModel      customer       = new CustomersModel();
                ExpanseTypesModel   expType        = new ExpanseTypesModel();
                ExpanseReportsModel expanseRapport = new ExpanseReportsModel();
                ProjectsModel       projet         = new ProjectsModel();
                expanseRapport.ExpanseReport_ID = idExpanseReport;
                expanse.ExpanseReport_ID        = exp.Expanse_ID;
                expanse.Expanse_ID     = exp.Expanse_ID;
                expanse.Amount_HT      = exp.Amount_HT;
                expanse.Amount_TTC     = exp.Amount_TTC;
                expanse.Amount_TVA     = exp.Amount_TVA;
                expanse.Day            = exp.Day;
                customer.Name          = expRepo.GetByIdCutomer(exp.Customer_ID).Name;
                projet.Name            = expRepo.GetByIdProjects(exp.Project_ID).Name;
                expType.Name           = expRepo.GetByIdExpanseTypes(exp.ExpanseType_ID).Name;
                expanseRapport.Year    = expRepo.GetByIdExpansesRepport(exp.ExpanseReport_ID).Year;
                expanse.Customers      = customer;
                expanse.Projects       = projet;
                expanse.ExpanseReports = expanseRapport;
                expanse.ExpanseTypes   = expType;
                expanseModel.Add(expanse);
            }
            ExpanseRepportRepositery expRapRep = new ExpanseRepportRepositery();
            ExpanseReports           expRap    = expRapRep.GetById(idExpanseReport);

            expRapRep.updateExpanseReports(expRap, ttc, ht, tva);
            ViewData["idExpanseReport"] = idExpanseReport;
            IQueryable <ExpansesModel>    listExpanse = expanseModel.AsQueryable();
            PaginatedList <ExpansesModel> lst         = new PaginatedList <ExpansesModel>(listExpanse, pageIndex, countElementPage);

            return(View("AllExpanses", lst));
        }
        // GET: ExpanseTypes
        public ActionResult Index()
        {
            ExpanseTypesModel expTypeModel = new ExpanseTypesModel();
            TvasRepositery    tvaRepo      = new TvasRepositery();
            var tvaLis = tvaRepo.allTvas().ToList();

            if (tvaLis.Count() == 0)
            {
                ViewData["erreur"] = "Tva";
                return(View("ErrorEmptyElement"));
            }
            expTypeModel.tvaList = tvaLis;
            return(View("ExpansTypeFormulaire", expTypeModel));
        }
        public ActionResult AllExpanseTypes(int?pageIndex)
        {
            var                    countElementPage = 10;
            TvasRepositery         tvaRepo          = new TvasRepositery();
            TvasModel              tvaModel         = new TvasModel();
            ExpanseTypesRepositery expTypeRep       = new ExpanseTypesRepositery();
            var                    expanseTypes     = expTypeRep.allExpanseTypes();

            if (expanseTypes.Count() == 0)
            {
                ViewData["erreurMessage"] = "Aucun type de frais !";
                ViewData["create"]        = "true";
                ViewData["element"]       = "ExpanseTypes";
                return(View("ErrorEmptyList"));
            }
            if (User.IsInRole("manager"))
            {
                expanseTypes = expTypeRep.allExpanseTypesManager();
            }

            List <ExpanseTypesModel> expanseTypesModel = new List <ExpanseTypesModel>();

            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;
                tvaModel.Name         = tvaRepo.tvasById(expTpe.Tva_ID).Name;
                tvaModel.TVA_ID       = tvaRepo.tvasById(expTpe.Tva_ID).TVA_ID;
                tvaModel.Value        = tvaRepo.tvasById(expTpe.Tva_ID).Value;
                expenseTypeModel.Tvas = tvaModel;
                expanseTypesModel.Add(expenseTypeModel);
            }
            IQueryable <ExpanseTypesModel>    listEpanTypes = expanseTypesModel.AsQueryable();
            PaginatedList <ExpanseTypesModel> lst           = new PaginatedList <ExpanseTypesModel>(listEpanTypes, pageIndex, countElementPage);

            return(View("AllExpansesTypes", lst));
        }
        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));
        }