예제 #1
0
        // GET: Frais/Details/5
        public async Task <ActionResult> DetailsAsync(int id)
        {
            FraisModel frais = await _fraisService.GetAsync(HttpContext.Session, id);

            ViewData.Model = frais;
            return(View());
        }
예제 #2
0
        public async Task <ActionResult> EditAsync(int id, FraisModel model, long?missionId)
        {
            try
            {
                FraisModel fees = await _fraisService.GetAsync(HttpContext.Session, id);

                if (!ModelState.IsValid)
                {
                    return(View());
                }
                MissionModel mission = await _missionService.GetAsync(HttpContext.Session, missionId);

                model.Id      = id;
                model.Mission = mission;
                model.User    = fees.User;
                string uniqueFileName = UploadedFile(model);
                model.Justificatif = uniqueFileName;

                await _fraisService.UpdateAsync(HttpContext.Session, model);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
예제 #3
0
        public async Task <ActionResult> ValiderAsync(int id)
        {
            FraisModel frais = await _fraisService.GetAsync(HttpContext.Session, id);

            frais.Status = "Remboursé";
            await _fraisService.UpdateAsync(HttpContext.Session, frais);

            await _mailService.SendMailAsync(HttpContext.Session, frais.User.Email, "[Atlast] Remboursement", "", false);

            return(RedirectToAction("Index2"));
        }
예제 #4
0
        //  public ActionResult GeneratePDF()
        // {
        //  return new ActionasPDF("Details");
        //}

        private string UploadedFile(FraisModel model)
        {
            string uniqueFileName = null;

            if (model.Justifiatiffile != null)
            {
                string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images/justificatifs");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Justifiatiffile.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.Justifiatiffile.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
예제 #5
0
        // GET: Frais/Edit/5
        public async Task <ActionResult> EditAsync(int id)
        {
            CompteModel         compte = _compteService.GetConnectedCompte(HttpContext.Session);
            List <MissionModel> result = await _missionService.GetListAsync(HttpContext.Session);

            ViewBag.listmission = result ?? new List <MissionModel>();
            List <UserModel> listusers = await _userService.GetListUserByManagerAsync(HttpContext.Session, compte.User.Id.GetValueOrDefault(0));

            listusers.Add(compte.User);
            ViewBag.userlist = listusers ?? new List <UserModel>();

            FraisModel fees = await _fraisService.GetAsync(HttpContext.Session, id);

            ViewData.Model = fees;
            return(View());
        }
예제 #6
0
        public async Task <ActionResult> CreateAsync(FraisModel model, long?missionId, long?userId)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    CompteModel         compte = _compteService.GetConnectedCompte(HttpContext.Session);
                    List <MissionModel> result = await _missionService.GetListAsync(HttpContext.Session);

                    ViewBag.listmission = result ?? new List <MissionModel>();
                    List <UserModel> listusers = await _userService.GetListUserByManagerAsync(HttpContext.Session, compte.User.Id.GetValueOrDefault(0));

                    listusers = listusers ?? new List <UserModel>();
                    listusers.Add(compte.User);
                    ViewBag.userlist = listusers;
                    return(View());
                }
                string uniqueFileName = UploadedFile(model);
                model.Justificatif = uniqueFileName;
                model.Mission      = new MissionModel {
                    Id = missionId
                };
                UserModel userSelected = await _userService.GetAsync(HttpContext.Session, userId);

                model.User = userSelected;

                await _fraisService.AddAsync(HttpContext.Session, model);

                return(RedirectToAction("Index"));
            }
            catch
            {
                CompteModel         compte = _compteService.GetConnectedCompte(HttpContext.Session);
                List <MissionModel> result = await _missionService.GetListAsync(HttpContext.Session);

                ViewBag.listmission = result ?? new List <MissionModel>();
                List <UserModel> listusers = await _userService.GetListUserByManagerAsync(HttpContext.Session, compte.User.Id.GetValueOrDefault(0));

                listusers = listusers ?? new List <UserModel>();
                listusers.Add(compte.User);
                ViewBag.userlist = listusers;

                return(View());
            }
        }