Ejemplo n.º 1
0
        public ActionResult ValiderLigne(int Id)
        {
            Collaborateur c = dal.ObtenirCollaborateur(HttpContext.User.Identity.Name);

            System.Diagnostics.Debug.WriteLine("Valider la ligne" + Id);
            dal.ChangerStatutLigneDeFrais(Id, StatutLigneDeFrais.Validée);
            LigneDeFrais  ligne = dal.bdd.LigneDeFrais.FirstOrDefault(l => l.Id == Id);
            Collaborateur col   = dal.bdd.Collaborateurs.FirstOrDefault(co => co.Id == ligne.IdCollab);

            dal.AjoutNotif(ligne.IdCollab, new Message(TypeMessage.NotifLigneRetour, c, ligne, false));
            foreach (NoteDeFrais n in col.NotesDeFrais)
            {
                if (n.LignesDeFrais.Contains(ligne))
                {
                    if (n.LignesDeFrais.Contains(ligne))
                    {
                        if (n.EstValidée())
                        {
                            dal.EnvoiNoteDeFrais(col.Service.Id, col.Id, n.Id);
                            dal.EnleverNoteDeFraisDuService(n.Id, dal.ObtenirServiceDeType(TypeService.Comptabilité).Id);
                            return(Json(null, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(null);
                        }
                    }
                }
            }
            //dal.ValiderConge(c.Id, new Message { Titre = "Validation de Note", Date = DateTime.Now, Contenu = "Une Ligne de frais a été validée par le chef de service"})
            return(Json(null, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public List <LigneDeFrais> RetrouverLignesDeFrais(int idFicheDeFrais)
        {
            List <LigneDeFrais> listeLignesDeFrais = new List <LigneDeFrais>();
            List <int>          listeId            = new List <int>();
            SqlCommand          command            = Connexion.GetInstance().CreateCommand();

            command.CommandText = "SELECT idLigneDeFrais FROM listefrais WHERE idFicheDeFrais = @idFicheDeFrais";
            command.Parameters.AddWithValue("@idFicheDeFrais", idFicheDeFrais);
            // Lecture des résultats
            SqlDataReader dataReader = command.ExecuteReader();

            while (dataReader.Read())
            {
                listeId.Add(dataReader.GetInt32(0));
            }
            dataReader.Close();

            LigneDeFraisDAO ligneDeFraisDao = new LigneDeFraisDAO();

            foreach (int id in listeId)
            {
                LigneDeFrais lf = ligneDeFraisDao.Read(id);
                listeLignesDeFrais.Add(lf);
            }

            return(listeLignesDeFrais);
        }
Ejemplo n.º 3
0
        public ActionResult LigneDeFrais_Destroy([DataSourceRequest] DataSourceRequest request, LigneDeFrais ligneDeFrais)
        {
            System.Diagnostics.Debug.WriteLine("Passage dans LigneDeFrais_destroy");
            if (ModelState.IsValid)
            {
                var entity = new LigneDeFrais
                {
                    Id            = ligneDeFrais.Id,
                    Nom           = ligneDeFrais.Nom,
                    Somme         = ligneDeFrais.Somme,
                    Statut        = ligneDeFrais.Statut,
                    ResumeFileUrl = ligneDeFrais.ResumeFileUrl,
                    Filename      = ligneDeFrais.Filename,
                    Date          = ligneDeFrais.Date,
                    Type          = ligneDeFrais.Type,
                    Mission       = ligneDeFrais.Mission,
                    IdCollab      = ligneDeFrais.IdCollab,
                    IdNote        = ligneDeFrais.IdNote,
                    Commentaire   = ligneDeFrais.Commentaire,
                };

                dal.bdd.LigneDeFrais.Attach(entity);
                dal.bdd.LigneDeFrais.Remove(entity);
                dal.bdd.SaveChanges();
            }
            System.Diagnostics.Debug.WriteLine("Passage dans LigneDeFrais_destroy envoie des données");
            return(Json(new[] { ligneDeFrais }.ToDataSourceResult(request, ModelState)));
        }
Ejemplo n.º 4
0
 public ActionResult LigneDeFrais_Update([DataSourceRequest] DataSourceRequest request, LigneDeFrais ligneDeFrais)
 {
     System.Diagnostics.Debug.WriteLine("Passage dans LigneDeFrais_update");
     if (ModelState.IsValid)
     {
         var entity = new LigneDeFrais
         {
             Id            = ligneDeFrais.Id,
             Nom           = ligneDeFrais.Nom,
             Somme         = ligneDeFrais.Somme,
             Statut        = ligneDeFrais.Statut,
             ResumeFileUrl = ligneDeFrais.ResumeFileUrl,
             Filename      = ligneDeFrais.Filename,
             Date          = ligneDeFrais.Date,
             Type          = ligneDeFrais.Type,
             IdCollab      = ligneDeFrais.IdCollab,
             IdNote        = ligneDeFrais.IdNote,
             Commentaire   = ligneDeFrais.Commentaire,
         };
         dal.bdd.LigneDeFrais.Attach(entity);
         dal.bdd.Entry(entity).State = EntityState.Modified;
         dal.bdd.SaveChanges();
         dal.ChangerMissionLigneDeFrais(ligneDeFrais.Id, ligneDeFrais.Mission.Id);
         System.Diagnostics.Debug.WriteLine("Check Statut de la ligne de frais :" + entity.Statut.ToString());
         System.Diagnostics.Debug.WriteLine("Check IdCollab de la ligne de frais :" + entity.IdCollab);
         if (entity.Statut == StatutLigneDeFrais.Refusée)
         {
             System.Diagnostics.Debug.WriteLine("Changement Statut de Refusé à EnAttente après édition");
             dal.ChangerStatutLigneDeFrais(entity.Id, StatutLigneDeFrais.EnAttente);
         }
         Collaborateur c = dal.ObtenirCollaborateur(HttpContext.User.Identity.Name);
         if (Session["RESUMEFILE"] != null)
         {
             foreach (HttpPostedFileBase f in Session["RESUMEFILE"] as List <HttpPostedFileBase> )
             {
                 DirectoryInfo di = Directory.CreateDirectory(Server.MapPath("~/Justifications/" + c.Id + "/" + ligneDeFrais.Id));
                 //f.SaveAs(Server.MapPath("~/Justifications/" + c.Id + "/" + ligneDeFrais.Id + "/" + f.FileName));
                 dal.AssocierNomDocument(ligneDeFrais.Id, f.FileName);
                 ligneDeFrais.Filename = f.FileName;
                 System.Diagnostics.Debug.WriteLine("Passage dans SaveResumeFile, Nom du fichier enregistré : " + f.FileName + "length" + f.ContentLength);
             }
         }
         Session.Remove("RESUMEFILE");
     }
     else
     {
         var errors = ModelState.Select(x => x.Value.Errors)
                      .Where(y => y.Count > 0)
                      .ToList();
         System.Diagnostics.Debug.WriteLine("Errors : ModelState isn't valid : ");
         foreach (var v in errors)
         {
             System.Diagnostics.Debug.WriteLine(v);
         }
     }
     System.Diagnostics.Debug.WriteLine("Passage dans LigneDeFrais_update envoie des données");
     return(Json(new[] { ligneDeFrais }.ToDataSourceResult(request, ModelState)));
 }
Ejemplo n.º 5
0
 public bool ValiderLigneDeFrais(int idCollab = default(int), int idLigne = default(int))
 {
     System.Diagnostics.Debug.WriteLine("Validation ligne de frais !");
     if (idCollab != default(int) && idLigne != default(int))
     {
         LigneDeFrais ligne = dal.ObtenirCollaborateur(idCollab).GetLigneDeFraisAValider().FirstOrDefault(l => idLigne == l.Id);
         dal.ChangerStatutLigneDeFrais(idLigne, StatutLigneDeFrais.Validée);
         System.Diagnostics.Debug.WriteLine("Passage dans Get InformationLigneDeFraisSelection, ligne : " + ligne);
     }
     return(true);
 }
Ejemplo n.º 6
0
        public ActionResult RefuserLigne(int Id, string message = "")
        {
            System.Diagnostics.Debug.WriteLine("Refuser La ligne" + Id);
            dal.ChangerStatutLigneDeFrais(Id, StatutLigneDeFrais.Refusée);
            dal.MessageDeRefusLigneDefrais(Id, message);

            Collaborateur c = dal.ObtenirCollaborateur(HttpContext.User.Identity.Name);
            LigneDeFrais  l = dal.bdd.LigneDeFrais.FirstOrDefault(co => co.Id == Id);

            dal.AjoutNotif(l.IdCollab, new Message(TypeMessage.NotifLigneRetour, c, l, true));
            return(Json(null, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        public ActionResult InformationLigneDeFraisSelection(int idCollab = default(int), int idLigne = default(int))
        {
            Collaborateur c = dal.ObtenirCollaborateur(HttpContext.User.Identity.Name);

            if (idCollab != default(int) && idLigne != default(int))
            {
                LigneDeFrais ligne = dal.ObtenirCollaborateur(idCollab).GetLigneDeFraisAValider().FirstOrDefault(l => idLigne == l.Id);
                System.Diagnostics.Debug.WriteLine("Passage dans Get InformationLigneDeFraisSelection, ligne : " + ligne);
                return(PartialView(ligne));
            }
            return(PartialView(null));
        }
Ejemplo n.º 8
0
        public ActionResult InformationLigneDeFrais(int idNote = default(int), int idLigne = default(int))
        {
            System.Diagnostics.Debug.WriteLine("Passage dans InformationLigneDeFrais Get NoteDeFraisControlleur");
            Collaborateur c = dal.ObtenirCollaborateur(HttpContext.User.Identity.Name);

            if (idNote != default(int) && idLigne != default(int))
            {
                LigneDeFrais ligne = c.NotesDeFrais.FirstOrDefault(n => n.Id == idNote).LignesDeFrais.FirstOrDefault(l => l.Id == idLigne);
                return(PartialView(ligne));
            }
            return(PartialView(null));
        }
Ejemplo n.º 9
0
        public ActionResult FormLigneFrais(String id)
        {
            ActionResult retour = RedirectToAction("AccueilFrais");

            if (Session["UserID"] == null)
            {
                return(RedirectToAction("Login"));
            }
            else
            {
                FicheDeFraisDAO ficheDeFraisDao = new FicheDeFraisDAO();
                LigneDeFraisDAO ligneDeFraisDao = new LigneDeFraisDAO();

                if (!String.IsNullOrWhiteSpace(id))
                {
                    if (Int32.TryParse(id, out int idFicheDeFrais))
                    {
                        if (ficheDeFraisDao.Read(idFicheDeFrais) != null)
                        {
                            FicheDeFrais ficheDeFrais = ficheDeFraisDao.Read(idFicheDeFrais);
                            ViewBag.ficheDeFrais = ficheDeFrais;

                            if ((Request.HttpMethod == "GET") && (Request.Params["action"] != null))
                            {
                                if (Request.Params["ligne"] != null)
                                {
                                    if (Request.Params["action"] == "del")
                                    {
                                        int          idLf = Convert.ToInt32(Request.Params["ligne"]);
                                        LigneDeFrais lf   = ligneDeFraisDao.Read(idLf);
                                        ligneDeFraisDao.Delete(lf);
                                        retour = RedirectToAction("FicheFrais", new { id = ficheDeFrais.Id });
                                    }
                                    else if (Request.Params["action"] == "modif")
                                    {
                                        int          idLf = Convert.ToInt32(Request.Params["ligne"]);
                                        LigneDeFrais lf   = ligneDeFraisDao.Read(idLf);
                                        ViewBag.ligneDeFrais = lf;
                                        retour = View();
                                    }
                                    else
                                    {
                                        retour = RedirectToAction("AccueilFrais");
                                    }
                                }
                                else
                                {
                                    if (Request.Params["action"] == "ajout")
                                    {
                                        ViewBag.ligneDeFrais = new LigneDeFrais();
                                        retour = View();
                                    }
                                    else
                                    {
                                        retour = RedirectToAction("AccueilFrais");
                                    }
                                }
                            }
                        }
                    }
                }
                else if (Request.HttpMethod == "POST")
                {
                    if (Request.Form["formulaireLigneDeFrais"] == "Ajouter")
                    {
                        int    idLigneFrais = Int32.Parse(Request.Form["idLigneFrais"]);
                        int    idFicheFrais = Int32.Parse(Request.Form["idFicheFrais"]);
                        String libelle      = Request.Form["libelle"];
                        Double montant      = double.Parse(Request.Form["montant"]);
                        bool   horsforfait  = (Request.Form["horsforfait"] == "1");
                        bool   report       = (Request.Form["report"] == "1");

                        LigneDeFrais lf = new LigneDeFrais(idLigneFrais, DateTime.Now, montant, libelle, false, false, horsforfait, report);

                        FicheDeFrais ficheDeFrais = ficheDeFraisDao.Read(idFicheFrais);

                        if ((ficheDeFrais.ListeDeLignesDeFrais.Find(lf2 => lf2.Id == idLigneFrais)) != null)
                        {
                            LigneDeFrais ligneDeFrais = (ficheDeFrais.ListeDeLignesDeFrais.Find(lf2 => lf2.Id == idLigneFrais));
                            ligneDeFrais.Id          = lf.Id;
                            ligneDeFrais.Date        = lf.Date;
                            ligneDeFrais.Montant     = lf.Montant;
                            ligneDeFrais.Libelle     = lf.Libelle;
                            ligneDeFrais.Validee     = lf.Validee;
                            ligneDeFrais.Refusee     = lf.Refusee;
                            ligneDeFrais.HorsForfait = lf.HorsForfait;
                            ligneDeFrais.Report      = lf.Report;
                        }
                        else
                        {
                            ficheDeFrais.ListeDeLignesDeFrais.Add(lf);
                        }

                        ficheDeFraisDao.Update(ficheDeFrais);
                        ViewBag.ficheDeFrais = ficheDeFrais;
                        retour = RedirectToAction("FicheFrais", new { id = ficheDeFrais.Id });
                    }
                }
            }
            return(retour);
        }
Ejemplo n.º 10
0
        public ActionResult LigneDeFrais_Create([DataSourceRequest] DataSourceRequest request, LigneDeFrais ligneDeFrais, int n)
        {
            System.Diagnostics.Debug.WriteLine("Passage dans LigneDeFrais_Create | idNote = " + n);
            if (HttpContext.User.Identity.IsAuthenticated)
            {
                var modelStateErrors = ModelState
                                       .Where(x => x.Value.Errors.Count > 0)
                                       .Select(x => new { x.Key, x.Value.Errors })
                                       .ToArray();
                Collaborateur c = dal.ObtenirCollaborateur(HttpContext.User.Identity.Name);
                if (ModelState.IsValid)
                {
                    dal.MiseAJourNotesDeFrais(HttpContext.User.Identity.Name);

                    var entity = new LigneDeFrais
                    {
                        Nom           = ligneDeFrais.Nom,
                        Somme         = ligneDeFrais.Somme,
                        Statut        = ligneDeFrais.Statut,
                        ResumeFileUrl = ligneDeFrais.ResumeFileUrl,
                        Filename      = ligneDeFrais.Filename,
                        Date          = ligneDeFrais.Date,
                        Type          = ligneDeFrais.Type,
                        Mission       = ligneDeFrais.Mission,
                        IdCollab      = ligneDeFrais.IdCollab,
                        IdNote        = ligneDeFrais.IdNote,
                        Commentaire   = ligneDeFrais.Commentaire,
                    };
                    System.Diagnostics.Debug.WriteLine("Creationd e la ligne dans la BD, Idnote : " + n);
                    dal.AjoutLigneDeFrais(c.Id, n, entity);
                    ligneDeFrais.Id       = entity.Id;
                    ligneDeFrais.IdCollab = entity.IdCollab;
                    ligneDeFrais.IdNote   = entity.IdNote;
                }
                else
                {
                    var errors = ModelState.Select(x => x.Value.Errors)
                                 .Where(y => y.Count > 0)
                                 .ToList();
                    System.Diagnostics.Debug.WriteLine("Errors : ModelState isn't valid : ");
                    foreach (var v in errors)
                    {
                        System.Diagnostics.Debug.WriteLine(v);
                    }
                }
                if (Session["RESUMEFILE"] != null)
                {
                    foreach (HttpPostedFileBase f in Session["RESUMEFILE"] as List <HttpPostedFileBase> )
                    {
                        DirectoryInfo di = Directory.CreateDirectory(Server.MapPath("~/Justifications/" + c.Id + "/" + ligneDeFrais.Id));
                        //f.SaveAs(Server.MapPath("~/Justifications/" + c.Id + "/" + ligneDeFrais.Id + "/" + f.FileName));
                        dal.AssocierNomDocument(ligneDeFrais.Id, f.FileName);
                        ligneDeFrais.Filename = f.FileName;
                        System.Diagnostics.Debug.WriteLine("Passage dans SaveResumeFile, Nom du fichier enregistré : " + f.FileName + "length" + f.ContentLength);
                    }
                }
                Session.Remove("RESUMEFILE");

                System.Diagnostics.Debug.WriteLine("Passage dans LigneDeFrais_Create envoie des données");
                return(Json(new[] { ligneDeFrais }.ToDataSourceResult(request, ModelState)));
            }
            return(null);
        }