public ActionResult Create([Bind(Include = "ID,Name,NumberPlaces,TrainingRoomID,Description,Day,Godzina")] Activites activites)
        {
            if (ModelState.IsValid)
            {
                var prof = db.Profiles.Where(n => n.UserName == User.Identity.Name);

                Profile profile = null;

                foreach (var item in prof)
                {
                    profile = item;
                }

                Activites_Profile ac_prof = new Activites_Profile {
                    Profile = profile, Activites = activites
                };
                db.Activites_Profile.Add(ac_prof);

                db.Activites.Add(activites);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            //chyba nie potrzebne
            ViewBag.TrainingRoomID = new SelectList(db.TrainingRoom, "ID", "Name", activites.TrainingRoomID);
            return(View(activites));
        }
        public ActionResult CreateActivite(Activites activites, int?id, int?idgroupe)
        {
            if (ModelState.IsValid)
            {
                activites.statu = false;

                db.Activites.Add(activites);
                db.SaveChanges();
                //// Send Password in Gmail///////////
                ///
                //var members  = db.Membre_group.Where(mg=>mg.GroupId==idgroupe);
                //foreach (var mem in members)
                //{
                //    string recipient = mem.Utilisateur.Email;
                //    string subject = "MEF Espace Nouvelle Activite";
                //    string body = "Nouvelle Activite Danse Le groupe";
                //    WebMail.SmtpServer = "smtp.gmail.com";
                //    WebMail.SmtpPort = 587;
                //    WebMail.SmtpUseDefaultCredentials = false;
                //    WebMail.EnableSsl = true;
                //    WebMail.UserName = "******";
                //    WebMail.Password = "******";
                //    WebMail.Send(to: recipient, subject: subject, body: body, isBodyHtml: true);
                //}

                ///////////////////////////////
                return(RedirectToAction("TestApi", "Agenda", new { id }));
            }

            ViewBag.Type_ActiviteID = new SelectList(db.Type_Activite, "ID", "Nom_type", activites.Type_ActiviteID);
            ViewBag.AgendaID        = new SelectList(db.Agenda, "ID", "Nom_agenda", activites.AgendaID);
            return(View(activites));
        }
示例#3
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (designTxt.Text == "")
                {
                    MessageBox.Show("Avant de cliquez ici, completer le champs 'Designation'");
                }
                else
                {
                    Activites a = new Activites();
                    a.Activite = designTxt.Text;

                    a.SaveDatas(a);

                    DynamicClasses.GetInstance().Alert("Activité ajoutée", DialogForms.FrmAlert.enmType.Success);

                    designTxt.Clear();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#4
0
        public ActionResult Edit(Activites activites, int?idgroupe, string IDCreate)
        {
            if (ModelState.IsValid)
            {
                db.Entry(activites).State = EntityState.Modified;
                try
                {
                    db.SaveChanges();
                }catch (DbEntityValidationException DbExc)
                {
                    string error = "";
                    foreach (var er in DbExc.EntityValidationErrors)
                    {
                        foreach (var ve in er.ValidationErrors)
                        {
                            error += " - " + ve.ErrorMessage;
                        }
                    }
                    TempData["Message"] = error;
                }

                ViewData["idgroupe"] = idgroupe;
                ViewData["IDCreate"] = IDCreate;
                return(RedirectToAction("GroupeActivites", "Activites", new { idgroupe, IDCreate }));
            }
            ViewBag.Type_ActiviteID = new SelectList(db.Type_Activite, "ID", "Nom_type", activites.Type_ActiviteID);
            ViewBag.AgendaID        = new SelectList(db.Agenda, "ID", "Nom_agenda", activites.AgendaID);
            return(View(activites));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Activites activites = db.Activites.Find(id);

            if (activites == null)
            {
                return(HttpNotFound());
            }
            //Wyszukanie zajecia i usuniecie go z bazy Activites_Profiles
            var activitesProfile = db.Activites_Profile.Where(m => m.Activites.ID == activites.ID);

            List <Activites_Profile> actProf = new List <Activites_Profile>();

            foreach (var item in activitesProfile)
            {
                actProf.Add(item);
            }

            foreach (var item in actProf)
            {
                db.Activites_Profile.Remove(item);
            }
            db.Activites.Remove(activites);

            db.SaveChanges();
            return(RedirectToAction("MyActivites"));
        }
        //Get Activites/SaveActivity/3
        //zapisywanie sie na zajęcia
        public ActionResult SaveActivity(int id)
        {
            //wyszukanie aktywnsci na która chce sie zapisac
            var acti = db.Activites.Where(n => n.ID == id);

            Activites activites = null;

            foreach (var item in acti)
            {
                activites = item;
            }

            //pobranie aktualnie zalogowanego użytkownika
            var prof = db.Profiles.Where(n => n.UserName == User.Identity.Name);

            Profile profile = null;

            foreach (var item in prof)
            {
                profile = item;
            }
            activites.NumberPlaces = activites.NumberPlaces - 1;
            Activites_Profile activiteProfile = new Activites_Profile {
                Profile = profile, ActivitesID = id
            };

            db.Activites_Profile.Add(activiteProfile);
            db.SaveChanges();

            return(RedirectToAction("Index", "Activites"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Activites activites = db.Activites.Find(id);

            db.Activites.Remove(activites);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "ID,Name,NumberPlaces,TrainingRoomID,Description,Day,Godzina")] Activites activites)
 {
     if (ModelState.IsValid)
     {
         db.Entry(activites).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.TrainingRoomID = new SelectList(db.TrainingRoom, "ID", "Name", activites.TrainingRoomID);
     return(View(activites));
 }
        public ActionResult UpdateStatu(int id, int?idgroupe, string IDCreate)
        {
            Activites ac = db.Activites.Find(id);

            ac.statu = !ac.statu.Value;
            db.Activites.Attach(ac);
            db.Entry(ac).State = EntityState.Modified;
            db.SaveChanges();
            ViewData["idgroupe"] = idgroupe;
            ViewData["IDCreate"] = IDCreate;
            return(RedirectToAction("GroupeActivites", "Activites", new { idgroupe, IDCreate }));
        }
 public ActionResult Edit([Bind(Include = "ID,Type_ActiviteID,Nom_activ,Objectif_activ,Date,statu,AgendaID")] Activites activites)
 {
     if (ModelState.IsValid)
     {
         db.Entry(activites).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Type_ActiviteID = new SelectList(db.Type_Activite, "ID", "Nom_type", activites.Type_ActiviteID);
     ViewBag.AgendaID        = new SelectList(db.Agenda, "ID", "Nom_agenda", activites.AgendaID);
     return(View(activites));
 }
示例#11
0
        public IActionResult Delete(int activityID)
        {
            if (!isLoggedIn)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Activites deletedAct = _db.Activitess.FirstOrDefault(a => a.ActivitesId == activityID);

            _db.Activitess.Remove(deletedAct);
            _db.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
示例#12
0
 public TachesProduc(int numTache, string version, Personne personne, Activites activité,
                     string libTache, DateTime dateDeb, int prevu, int realise, int restant)
 {
     NumTache = numTache;
     Version  = version;
     Personne = personne;
     Activité = activité;
     LibTache = libTache;
     DateDeb  = dateDeb;
     Prevu    = prevu;
     Realise  = realise;
     Restant  = restant;
 }
        // GET: Activites/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Activites activites = db.Activites.Find(id);

            if (activites == null)
            {
                return(HttpNotFound());
            }
            return(View(activites));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Activites activites = db.Activites.Find(id);

            if (activites == null)
            {
                return(HttpNotFound());
            }
            ViewBag.TrainingRoomID = new SelectList(db.TrainingRoom, "ID", "Name", activites.TrainingRoomID);
            return(View(activites));
        }
        // GET: Activites/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Activites activites = db.Activites.Find(id);

            if (activites == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Type_ActiviteID = new SelectList(db.Type_Activite, "ID", "Nom_type", activites.Type_ActiviteID);
            ViewBag.AgendaID        = new SelectList(db.Agenda, "ID", "Nom_agenda", activites.AgendaID);
            return(View(activites));
        }
        // GET: Activites/Details/5
        public ActionResult Details(int?id, int?idgroupe, string IDCreate)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Activites activites = db.Activites.Find(id);

            if (activites == null)
            {
                return(HttpNotFound());
            }
            ViewData["idgroupe"] = idgroupe;
            ViewData["IDCreate"] = IDCreate;
            return(View(activites));
        }
示例#17
0
        public IActionResult Activity(int activityID)
        {
            if (!isLoggedIn)
            {
                return(RedirectToAction("Index", "Home"));
            }
            Activites thisActivity = _db
                                     .Activitess
                                     .Include(a => a.CreatedBy)
                                     .Include(a => a.CommingUsers)
                                     .ThenInclude(A => A.Gest)
                                     .FirstOrDefault(w => w.ActivitesId == activityID);
            User u = _db.Users.FirstOrDefault(u => u.UserId == (int)uid);

            ViewBag.User = u;
            return(View(thisActivity));
        }
        // GET: Activites/Details/5
        public ActionResult Details(int?id)
        {
            var isSave = true;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Activites activites = db.Activites.Find(id);

            if (activites == null)
            {
                return(HttpNotFound());
            }

            //pobranie aktualnie zalogowanego użytkownika
            var prof = db.Profiles.Where(n => n.UserName == User.Identity.Name);

            Profile profile = null;

            foreach (var item in prof)
            {
                profile = item;
            }

            //wyszukiwanie czy jest już uzytkownik zapisany na zajecia
            var activitesProfile = db.Activites_Profile.Select(m => m).Where(m => m.ActivitesID == id && m.Profile.ID == profile.ID);

            Activites_Profile activitesProf = null;

            foreach (var item in activitesProfile)
            {
                activitesProf = item;
            }

            if (activitesProf == null)
            {
                isSave = false;
            }

            ViewBag.IsSave = isSave;
            ViewBag.Slot   = activites.NumberPlaces;

            return(View(activites));
        }
示例#19
0
        public IActionResult CreateActivity(Activites activity)
        {
            if (activity.Date < DateTime.Now)
            {
                ModelState.AddModelError("Date", "Activity Date must be in the futuer");
            }
            if (ModelState.IsValid)
            {
                activity.UserId = (int)uid;
                _db.Activitess.Add(activity);
                _db.SaveChanges();
                return(Redirect($"/activity/{activity.ActivitesId}"));
            }
            User u = _db.Users.FirstOrDefault(u => u.UserId == (int)uid);

            ViewBag.User = u;
            return(View("New"));
        }
示例#20
0
        public ActionResult Create(Activites activites)
        {
            if (activites.DateDebut > activites.DateFin)
            {
                ModelState.AddModelError("DateFin", "La date de début doit être inférieure à la date de fin");
            }

            if (activites.DateDebut < DateUtils.GetAujourdhui())
            {
                ModelState.AddModelError("DateDebut", "La date de début doit être au moins supérieur à la date du jour");
            }

            if (activites.DateDebut == activites.DateFin && activites.DemiJourneeFin == DemiJourneeEnum.MATIN &&
                activites.DemiJourneeDebut == DemiJourneeEnum.APRESMIDI)
            {
                ModelState.AddModelError("DemiJourneeDebut", "Incohérence entre la demi journée de début et la demi journée de fin");
            }

            if (CheckAutresActivitesSurDate(activites.DateDebut, activites.DemiJourneeDebut, activites.DateFin,
                                            activites.DemiJourneeFin, GetIdUtilisateurConnecte(), null))
            {
                ModelState.AddModelError("DateDebut", "Une activité est déjà enregistré entre ces deux dates");
            }

            if (ModelState.IsValid)
            {
                //sauvegarde en base
                activites.UtilisateurId = GetIdUtilisateurConnecte();
                Db.Activites.Add(activites);
                Db.SaveChanges();

                //changement des repas si le type d'activité le permet
                var typeActi = Db.TypeActivites.Find(activites.TypeActiviteId);
                if (typeActi.ModifierRepas)
                {
                    SupprimeRepas(activites.DateDebut, activites.DateFin);
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.TypeActiviteId = new SelectList(Db.TypeActivites.Where(x => x.Etat == EtatEnum.ACTIF), "Id", "Nom", activites.TypeActiviteId);
            return(View(activites));
        }
        // Get Activites/UnSaveActivity/3
        public ActionResult UnSaveActivity(int id)
        {
            //wyszukanie aktywnsci na która chce sie wypisać
            var acti = db.Activites.Where(n => n.ID == id);

            Activites activites = null;

            foreach (var item in acti)
            {
                activites = item;
            }

            //pobranie aktualnie zalogowanego użytkownika
            var prof = db.Profiles.Where(n => n.UserName == User.Identity.Name);

            Profile profile = null;

            foreach (var item in prof)
            {
                profile = item;
            }

            //Wyszukanie zajecia i usuniecie go z bazy dla danego użytkownika
            var activitesProfile = db.Activites_Profile.Select(m => m).Where(m => m.Activites.ID == id && m.Profile.ID == profile.ID);

            Activites_Profile activitesProf = null;

            foreach (var item in activitesProfile)
            {
                activitesProf = item;
            }

            activites.NumberPlaces = activites.NumberPlaces + 1;
            db.Activites_Profile.Remove(activitesProf);
            db.SaveChanges();

            return(RedirectToAction("Index", "Activites"));
        }
示例#22
0
        public async Task <ActionResult> CreateActivite(EventsModel eventsModel, int?id, int?idgroupe, bool GAC)
        {
            Activites activites = new Activites();

            activites.Nom_activ       = eventsModel.Title;
            activites.Objectif_activ  = eventsModel.Description;
            activites.Type_ActiviteID = eventsModel.Type_ActiviteID;
            activites.Emplacement     = eventsModel.Location;
            activites.AgendaID        = eventsModel.AgendaId;
            activites.DateStart       = eventsModel.DateStart;
            activites.DateEnd         = eventsModel.DateEnd;
            activites.statu           = false;
            db.Activites.Add(activites);
            try
            {
                await db.SaveChangesAsync();
            }catch (DbEntityValidationException DbExc)
            {
                string error = "";
                foreach (var er in DbExc.EntityValidationErrors)
                {
                    foreach (var ve in er.ValidationErrors)
                    {
                        error += " - " + ve.ErrorMessage;
                    }
                }
                TempData["Message"] = error;
            }

            IList <EventAttendee> AttList = new List <EventAttendee>();

            var          MemL         = db.Membre_group.Where(mg => mg.GroupId == idgroupe);
            Membre_group membre_Group = new Membre_group();

            foreach (var item in MemL)
            {
                EventAttendee eventAttendee = new EventAttendee();
                eventAttendee.Email = item.Utilisateur.Email;
                AttList.Add(eventAttendee);
                //new EventAttendee() { Email = item.Utilisateur.Email };
            }
            ///// Email Send //////////////////////////////
            GetMailData();
            EMail   mail        = new EMail();
            dynamic MailMessage = new MailMessage();

            MailMessage.From = new MailAddress(FromAddress);
            foreach (var item in MemL)
            {
                MailMessage.To.Add(item.Utilisateur.Email);
            }
            MailMessage.Subject    = "Espace MEFRA Notification";
            MailMessage.IsBodyHtml = true;
            MailMessage.Body       = "Nouveau Activité";


            SmtpClient SmtpClient = new SmtpClient();

            SmtpClient.Host        = strSmtpClient;
            SmtpClient.EnableSsl   = bEnableSSL;
            SmtpClient.Port        = Int32.Parse(SMTPPort);
            SmtpClient.Credentials = new System.Net.NetworkCredential(UserID, Password);

            try
            {
                try
                {
                    SmtpClient.Send(MailMessage);
                }
                catch (Exception ex)
                {
                }
            }
            catch (SmtpFailedRecipientsException ex)
            {
                for (int i = 0; i <= ex.InnerExceptions.Length; i++)
                {
                    SmtpStatusCode status = ex.StatusCode;
                    if ((status == SmtpStatusCode.MailboxBusy) | (status == SmtpStatusCode.MailboxUnavailable))
                    {
                        System.Threading.Thread.Sleep(5000);
                        SmtpClient.Send(MailMessage);
                    }
                }
            }


            if (GAC)
            {
                UserCredential credential;
                using (var stream =
                           new FileStream(Path.Combine(Server.MapPath("~/Credentials"), "credentials-MinFin.json"), FileMode.Open, FileAccess.Read))
                {
                    // The file token.json stores the user's access and refresh tokens, and is created
                    // automatically when the authorization flow completes for the first time.
                    string credPath = Path.Combine(Server.MapPath("~/Credentials"), "token" + id + ".json");
                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                        GoogleClientSecrets.Load(stream).Secrets,
                        Scopes,
                        "user",
                        CancellationToken.None,
                        new FileDataStore(credPath, true)).Result;
                }

                // Create Google Calendar API service.
                var service = new CalendarService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = ApplicationName,
                });
                // Define parameters of request.
                EventsResource.ListRequest request = service.Events.List("primary");
                request.TimeMin      = DateTime.Now;
                request.ShowDeleted  = false;
                request.SingleEvents = true;
                request.MaxResults   = 10;
                request.OrderBy      = EventsResource.ListRequest.OrderByEnum.StartTime;



                Event newEvent = new Event()
                {
                    Summary     = eventsModel.Title,
                    Location    = eventsModel.Location,
                    Description = eventsModel.Description,
                    Start       = new EventDateTime()
                    {
                        DateTime = DateTime.Parse(string.Format("{0:s}", eventsModel.DateStart)),
                        TimeZone = "Africa/Casablanca",
                    },
                    End = new EventDateTime()
                    {
                        DateTime = DateTime.Parse(string.Format("{0:s}", eventsModel.DateEnd)),
                        TimeZone = "Africa/Casablanca",
                    },
                    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
                    Attendees  = AttList,
                    Reminders  = new Event.RemindersData()
                    {
                        UseDefault = false,
                        Overrides  = new EventReminder[] {
                            new EventReminder()
                            {
                                Method = "email", Minutes = 24 * 60
                            },
                            new EventReminder()
                            {
                                Method = "sms", Minutes = 10
                            },
                        }
                    }
                };

                EventsResource.InsertRequest request2 = service.Events.Insert(newEvent, eventsModel.GoogleCalendarID);

                request2.Execute();
            }

            ViewBag.Type_ActiviteID = new SelectList(db.Type_Activite, "ID", "Nom_type");
            ViewData["idagenda"]    = id;
            ViewData["idgroupe"]    = idgroupe;
            ViewData["GAC"]         = GAC;
            return(RedirectToAction("TestApi", "Agenda", new { id }));
        }
示例#23
0
        public ActionResult Edit(Activites activites)
        {
            int idUser = GetIdUtilisateurConnecte();

            if (ModelState.IsValid)
            {
                if (activites.DateDebut > activites.DateFin)
                {
                    ModelState.AddModelError("DateFin", "La date de début doit être inférieure à la date de fin");
                }

                if (activites.DateDebut < DateUtils.GetAujourdhui())
                {
                    ModelState.AddModelError("DateDebut", "La date de début doit être au moins supérieur à la date du jour");
                }

                if (activites.DateDebut == activites.DateFin && activites.DemiJourneeFin == DemiJourneeEnum.MATIN &&
                    activites.DemiJourneeDebut == DemiJourneeEnum.APRESMIDI)
                {
                    ModelState.AddModelError("DemiJourneeDebut", "Incohérence entre la demi journée de début et la demi journée de fin");
                }


                if (CheckAutresActivitesSurDate(activites.DateDebut, activites.DemiJourneeDebut, activites.DateFin,
                                                activites.DemiJourneeFin, GetIdUtilisateurConnecte(), activites.Id))
                {
                    ModelState.AddModelError("dateDebutAct", "Une activité est déjà enregistré entre ces deux dates");
                }

                if (ModelState.IsValid && Db.Activites.Count(x => x.Id == activites.Id && x.UtilisateurId == idUser) > 0)
                {
                    var oldActivite = Db.Activites.Find(activites.Id);

                    //remise en état normal des repas de l'ancienne activité
                    if (oldActivite.TypeActivites.ModifierRepas)
                    {
                        RemiseEtatNormalRepas(oldActivite.DateDebut, oldActivite.DateFin);
                    }

                    //suppression des repas de la nouvelle activité
                    var type = Db.TypeActivites.Find(activites.TypeActiviteId);
                    if (type.ModifierRepas)
                    {
                        SupprimeRepas(activites.DateDebut, activites.DateFin);
                    }

                    //mise en base
                    oldActivite.DateDebut        = activites.DateDebut;
                    oldActivite.DateFin          = activites.DateFin;
                    oldActivite.TypeActiviteId   = activites.TypeActiviteId;
                    oldActivite.DemiJourneeDebut = activites.DemiJourneeDebut;
                    oldActivite.DemiJourneeFin   = activites.DemiJourneeFin;
                    oldActivite.Commentaire      = activites.Commentaire;
                    Db.Entry(oldActivite).State  = EntityState.Modified;
                    Db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.TypeActiviteId = new SelectList(Db.TypeActivites.Where(x => x.Etat == EtatEnum.ACTIF), "Id", "Nom", activites.TypeActiviteId);
            return(View(activites));
        }