public IHttpActionResult Register([FromBody] Person newUser)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    Person user = db.Person.Where(x => x.Mail == newUser.Mail).FirstOrDefault();
                    if (user != null)
                    {
                        return(BadRequest("User existing"));
                    }

                    //Formatage du Prenom
                    Int32  fisrstnameLength = newUser.Firstname.Length - 1;
                    string firstname        = newUser.Firstname;
                    string firstLetter      = firstname.Substring(0, 1);
                    string lastLetter       = firstname.Substring(1, fisrstnameLength);

                    newUser.Firstname      = firstLetter + lastLetter;
                    newUser.AccountArchive = false;
                    newUser.Lastname       = newUser.Lastname.ToUpper();
                    newUser.RoleId         = db.Role.Where(x => x.Label == "User").Select(x => x.Id).FirstOrDefault();
                    newUser.Password       = BCrypt.Net.BCrypt.HashPassword(newUser.Password);

                    db.Person.Add(newUser);
                    db.SaveChanges();
                    return(Ok(newUser));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode Register: Message : {0};  InnerException : {1}; Stacktrace : {2}", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
        public IHttpActionResult ArchiveEnterprise(int idEnterprise)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    Enterprise enterpriseArchived = db.Enterprise.Find(idEnterprise);
                    if (enterpriseArchived == null)
                    {
                        return(NotFound());
                    }

                    enterpriseArchived.Delete = true;

                    db.Entry(enterpriseArchived).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Ok(enterpriseArchived));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode PutEnterprise:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
Example #3
0
        public IHttpActionResult PutPerson(int idPerson, [FromBody] Person person)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    Person personModify = db.Person.Find(idPerson);
                    if (personModify == null)
                    {
                        return(NotFound());
                    }

                    personModify.Lastname  = person.Lastname.ToUpper();
                    personModify.Firstname = person.Firstname;
                    personModify.Username  = person.Username;
                    personModify.Mail      = person.Mail;
                    personModify.Phone     = person.Phone;
                    personModify.Username  = person.Username;
                    personModify.City      = person.City;
                    personModify.Phone     = person.Phone;
                    personModify.RoleId    = person.RoleId;

                    db.Entry(personModify).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Ok(personModify));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode PutPerson:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
Example #4
0
        public IHttpActionResult ArchivePerson(int idPerson)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    Person archivedPerson = db.Person.Find(idPerson);
                    if (archivedPerson == null)
                    {
                        return(NotFound());
                    }
                    // List<Event> eventOrganiser = db.Event.Where(x => x.DateEnd != null && x.IdHote == personId || x.IdVDI == personId).ToList();

                    archivedPerson.AccountArchive  = true;
                    db.Entry(archivedPerson).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Ok(archivedPerson));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode ArchivePerson:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
        public IHttpActionResult PutSession(int idSession, [FromBody] Session session)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    Session sessionModify = db.Session.Find(idSession);
                    if (sessionModify == null)
                    {
                        return(NotFound());
                    }

                    sessionModify.Title          = session.Title;
                    sessionModify.DateStart      = session.DateStart;
                    sessionModify.DateEnd        = session.DateEnd;
                    sessionModify.NbSeat         = session.NbSeat;
                    sessionModify.Address        = session.Address;
                    sessionModify.PostCode       = session.PostCode;
                    sessionModify.City           = session.City;
                    sessionModify.IdTypeInterest = session.IdTypeInterest;
                    sessionModify.IdHote         = session.IdHote;
                    sessionModify.IdVDI          = session.IdVDI;

                    db.Entry(sessionModify).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Ok(sessionModify));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode PutPerson:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
        public IHttpActionResult PutTypeInterest(int idTypeInterest, [FromBody] TypeInterest typeinterest)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    TypeInterest interestModify = db.TypeInterest.Find(idTypeInterest);
                    if (interestModify == null)
                    {
                        return(NotFound());
                    }

                    interestModify.Label = typeinterest.Label.ToUpper();;

                    db.Entry(interestModify).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Ok(interestModify));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode PutTypeInterest:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
        public IHttpActionResult Login([FromBody] AuthUser userC)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    Person     user    = db.Person.Where(x => x.Mail == userC.mail).FirstOrDefault();
                    LoggedUser logUser = new LoggedUser();
                    if (user == null)
                    {
                        return(BadRequest("Error contact technical support"));
                    }

                    bool validPass = BCrypt.Net.BCrypt.Verify(userC.password, user.Password);
                    if (user.Mail == userC.mail && validPass == true)
                    {
                        logUser.id        = user.Id;
                        logUser.mail      = user.Mail;
                        logUser.lastname  = user.Lastname;
                        logUser.firstname = user.Firstname;
                        logUser.role      = db.Role.Where(x => x.Id == user.RoleId).Select(x => x.Label).FirstOrDefault();
                        return(Ok(logUser));
                    }
                    return(Unauthorized());
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode Login:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
        public IHttpActionResult DeleteSession(int idSession)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    Session deletedSession = db.Session.Find(idSession);
                    if (deletedSession == null)
                    {
                        return(NotFound());
                    }


                    deletedSession.Delete          = true;
                    db.Entry(deletedSession).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Ok(deletedSession));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode DeleteSession:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
 public IHttpActionResult GetSessions()
 {
     try
     {
         using (VDIConnectContext db = new VDIConnectContext())
         {
             List <Session> sessions = db.Session.Where(x => x.Delete == false).Include(x => x.TypeInterest).ToList();
             return(Ok(sessions));
         }
     }
     catch (Exception exp)
     {
         return(BadRequest(string.Format("Erreur dans la méthode GetSessions:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
     }
 }
Example #10
0
 public IHttpActionResult GetVDI(int idVDI)
 {
     using (VDIConnectContext db = new VDIConnectContext())
     {
         try
         {
             VDI vdi = db.VDI.Where(x => x.Id == idVDI).Include(x => x.Enterprise).Include(x => x.Person).FirstOrDefault();
             return(Ok(vdi));
         }
         catch (Exception exp)
         {
             return(BadRequest(string.Format("Erreur dans la méthode GetVDI:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
         }
     }
 }
Example #11
0
 public IHttpActionResult GetPersonsByRole(int roleId)
 {
     try
     {
         using (VDIConnectContext db = new VDIConnectContext())
         {
             List <Person> persons = db.Person.Where(x => x.RoleId == roleId && x.AccountArchive == false).Include(x => x.Role).ToList();
             return(Ok(persons));
         }
     }
     catch (Exception exp)
     {
         return(BadRequest(string.Format("Erreur dans la méthode GetPersons:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
     }
 }
 public IHttpActionResult GetCommentaries()
 {
     try
     {
         using (VDIConnectContext db = new VDIConnectContext())
         {
             List <Commentary> commentaries = db.Commentary.ToList();
             return(Ok(commentaries));
         }
     }
     catch (Exception exp)
     {
         return(BadRequest(string.Format("Erreur dans la méthode GetCommentaries:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
     }
 }
Example #13
0
 public IHttpActionResult PostVDI([FromBody] VDI vdi)
 {
     using (VDIConnectContext db = new VDIConnectContext())
     {
         try
         {
             db.VDI.Add(vdi);
             db.SaveChanges();
             return(Ok(vdi));
         }
         catch (Exception exp)
         {
             return(BadRequest(string.Format("Erreur dans la méthode PostVDI:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
         }
     }
 }
Example #14
0
        public IHttpActionResult ArchivedVDI(int idVDI)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    VDI archivedVDI = db.VDI.Find(idVDI);
                    archivedVDI.Archive = false;

                    return(Ok(archivedVDI));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode ArchivedVDI:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
 public IHttpActionResult PostTypeInterest([FromBody] TypeInterest typeinterest)
 {
     using (VDIConnectContext db = new VDIConnectContext())
     {
         try
         {
             typeinterest.Label = typeinterest.Label.ToUpper();
             db.TypeInterest.Add(typeinterest);
             db.SaveChanges();
             return(Ok(typeinterest));
         }
         catch (Exception exp)
         {
             return(BadRequest(string.Format("Erreur dans la méthode PostTypeInterest:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
         }
     }
 }
 public IHttpActionResult PostEnterprise([FromBody] Enterprise enterprise)
 {
     using (VDIConnectContext db = new VDIConnectContext())
     {
         try
         {
             enterprise.Name = enterprise.Name.ToUpper();
             db.Enterprise.Add(enterprise);
             db.SaveChanges();
             return(Ok(enterprise));
         }
         catch (Exception exp)
         {
             return(BadRequest(string.Format("Erreur dans la méthode GetEnterprise:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
         }
     }
 }
Example #17
0
 public IHttpActionResult GetPerson(int idPerson)
 {
     using (VDIConnectContext db = new VDIConnectContext())
     {
         try
         {
             Person person = db.Person.Where(x => x.Id == idPerson).Include(x => x.Role).FirstOrDefault();
             if (person == null)
             {
                 return(NotFound());
             }
             return(Ok(person));
         }
         catch (Exception exp)
         {
             return(BadRequest(string.Format("Erreur dans la méthode GetPerson:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
         }
     }
 }
Example #18
0
        public IHttpActionResult GetVDIsByEnterprise(int idEnterprise)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    List <VDI> VDIs = db.VDI.Where(x => x.IdEnterprise == idEnterprise && x.Archive == false).Include(x => x.Enterprise).Include(x => x.Person).ToList();
                    if (VDIs == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(VDIs));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode GetVDIsByEnterprise:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
        public IHttpActionResult GetTypeInterest(int idTypeInterest)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    TypeInterest typeInterest = db.TypeInterest.Find(idTypeInterest);
                    if (typeInterest == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(typeInterest));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode GetTypeInterest:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
        public IHttpActionResult PostSession([FromBody] Session session)
        {
            try
            {
                using (VDIConnectContext db = new VDIConnectContext())
                {
                    session.DateStart = DateTime.Now;
                    session.DateEnd   = DateTime.Now;
                    session.Delete    = false;

                    db.Session.Add(session);
                    db.SaveChanges();
                    return(Ok(session));
                }
            }
            catch (Exception exp)
            {
                return(BadRequest(string.Format("Erreur dans la méthode PostSession: Message : {0};  InnerException : {1}; Stacktrace : {2}", exp.Message, exp.InnerException, exp.StackTrace)));
            }
        }
        public IHttpActionResult GetEnterprise(int idEnterprise)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    Enterprise enterprise = db.Enterprise.Find(idEnterprise);
                    if (enterprise == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(enterprise));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode GetEnterprise:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
        public IHttpActionResult GetEnterprises()
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    List <Enterprise> enterprises = db.Enterprise.Where(x => x.Delete == false).ToList();
                    if (enterprises == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(enterprises));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode GetEnterprises:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
        public IHttpActionResult EditUserPwd(int userId, [FromBody] UserPwdEditor user)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    var    oldUser = db.Person.Find(userId);
                    string pwd     = BCrypt.Net.BCrypt.HashPassword(user.newPwd);

                    if (oldUser == null)
                    {
                        return(NotFound());
                    }

                    bool verifyPwd = BCrypt.Net.BCrypt.Verify(user.currentPwd, oldUser.Password);

                    if (!verifyPwd)
                    {
                        return(BadRequest("Error password"));
                    }

                    else if (oldUser.Password == pwd)
                    {
                        return(BadRequest("Old password is same of new"));
                    }

                    oldUser.Password        = pwd;
                    db.Entry(oldUser).State = EntityState.Modified;
                    db.SaveChanges();
                    return(Ok(oldUser));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode EditUserPwd: Message : {0};  InnerException : {1}; Stacktrace : {2}", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }
Example #24
0
        public IHttpActionResult PutVDI(int idVDI, [FromBody] VDI vdi)
        {
            using (VDIConnectContext db = new VDIConnectContext())
            {
                try
                {
                    VDI vdiModify = db.VDI.Find(idVDI);
                    if (vdiModify == null)
                    {
                        return(NotFound());
                    }

                    vdiModify.IdEnterprise    = vdi.IdEnterprise;
                    vdiModify.IdPerson        = vdi.IdPerson;
                    db.Entry(vdiModify).State = EntityState.Modified;
                    db.SaveChanges();
                    return(Ok(vdiModify));
                }
                catch (Exception exp)
                {
                    return(BadRequest(string.Format("Erreur dans la méthode PutVDI:\n Message : {0};\n  InnerException : {1};\n Stacktrace : {2}\n", exp.Message, exp.InnerException, exp.StackTrace)));
                }
            }
        }