Exemple #1
0
        protected override void OnTimeRangeSelected(TimeRangeSelectedArgs e)
        {
            string texteConventionne = string.Empty;

            foreach (var soin in ChoixSoins)
            {
                texteConventionne += soin.Libelle + ", ";
            }
            texteConventionne += " pour " + TempsSoinChoisis + "minutes.";

            var toBeCreated = new CreneauHoraire
            {
                DateDebut = e.Start,
                DateFin   = e.Start.AddMinutes(TempsSoinChoisis),   // Le temps est fixé par le choix du soin
                Text      = texteConventionne
            };

            var masseusesDispo = RendezVousServiceProxy.Instance().ObtenirMasseusesDisponibles(toBeCreated);

            // Si le creneau choisit est légal : Si il y a bien une masseuse dispo :
            if (masseusesDispo != null && masseusesDispo.Count > 0)
            {
                HttpContext.Current.Session["MonCreneau"] = toBeCreated;
            }

            Update();
        }
Exemple #2
0
        protected override void OnEventMove(EventMoveArgs e)
        {
            int idElement = Convert.ToInt32(e.Id);

            if (0 == idElement) // Si il s'agit bien de mon RDV (sinon j'ai pas le droit de le bouger)
            {
                var toBeResized = (CreneauHoraire)HttpContext.Current.Session["MonCreneau"];

                toBeResized.DateDebut = e.NewStart;
                toBeResized.DateFin   = e.NewStart.AddMinutes(TempsSoinChoisis);
                //db.SaveChanges();

                // Vérifier la légalité :

                var masseusesDispo = RendezVousServiceProxy.Instance().ObtenirMasseusesDisponibles(toBeResized);

                // Si créneau illégal :
                if (masseusesDispo == null || masseusesDispo.Count == 0)
                {
                    // Rollback :
                    toBeResized.DateDebut = e.OldStart;
                    toBeResized.DateFin   = e.OldEnd;
                }
            }


            Update();
        }
Exemple #3
0
        protected override void OnInit(InitArgs e)
        {
            // Chargement des Events :

            /*old :
             * Events = from ev in db.CreneauxHoraires select ev;
             */

            // Affichage des créneaux horaires correspondants à des vrais RDV :

            // Gros code dupliqué avec OnFinish

            List <CreneauHoraire> creneauxAAfficher = new List <CreneauHoraire>();

            var nonDispos = RendezVousServiceProxy.Instance().ObtenirCreneauxIndisponibles();

            // liste des rendezVous :
            //var rdvs = db.RendezVous.ToList();
            if (nonDispos != null && nonDispos.Count > 0)
            {
                foreach (var rdv in nonDispos)
                {
                    rdv.Text = "Non disponible";
                    creneauxAAfficher.Add(rdv);
                }
            }

            CreneauHoraire creneauUtilisateur = (CreneauHoraire)HttpContext.Current.Session["MonCreneau"];

            // Si l'utilisateur est en train de faire un créneau à lui :
            if (creneauUtilisateur != null)
            {
                // on va l'afficher :
                creneauxAAfficher.Add(creneauUtilisateur);
            }

            Events = creneauxAAfficher;

            DataIdField    = "Id";
            DataTextField  = "Text";
            DataStartField = "DateDebut";
            DataEndField   = "DateFin";

            Update();
        }
        /// <summary>
        /// Construit un rendez-vous et renvoie le message d'erreur si ça n'a pas été possible
        /// </summary>
        /// <returns>Message d'erreur (empty si ok)</returns>
        /// <remarks>Vraiment pas propre de retourner un string comme ça ^^</remarks>
        internal static string ConstruireRendezVousSiPossible()
        {
            RendezVous rdv = new RendezVous();

            rdv.ChoixSoins = (List <Soin>)HttpContext.Current.Session["ChoixSoins"];
            if (rdv.ChoixSoins != null)
            {
                rdv.Cliente = (Cliente)UtilisateurServiceProxy.Instance().ObtenirUtilisateur(HttpContext.Current.User.Identity.Name);
                if (rdv.Cliente != null)
                {
                    rdv.Creneau = (CreneauHoraire)HttpContext.Current.Session["MonCreneau"];

                    if (rdv.Creneau != null)
                    {
                        var masseusesDispos = RendezVousServiceProxy.Instance().ObtenirMasseusesDisponibles(rdv.Creneau);
                        if (masseusesDispos.Count > 0)
                        {
                            // Assignation parmi les masseuses disponibles
                            rdv.Masseuse = masseusesDispos[new Random().Next(0, masseusesDispos.Count)];

                            HttpContext.Current.Session["ChoixRDV"] = rdv;

                            return(string.Empty);
                        }
                        else
                        {
                            return("Malheureusement, il n'y a plus de masseuses disponibles pour le créneau que vous avez choisit. Veuillez choisir un autre rendez-vous.");
                        }
                    }
                    else
                    {
                        return("Vous n'avez pas sélectionnés de Rendez-Vous.");
                    }
                }
                else
                {
                    return("Vous devez vous authentifier.");
                }
            }
            else
            {
                return("Vous n'avez pas choisit de soins.");
            }
        }
Exemple #5
0
        protected override void OnFinish()
        {
            if (UpdateType == CallBackUpdateType.None)
            {
                return;
            }

            //Events = from ev in db.CreneauxHoraires select ev;

            List <CreneauHoraire> creneauxAAfficher = new List <CreneauHoraire>();

            var nonDispos = RendezVousServiceProxy.Instance().ObtenirCreneauxIndisponibles();

            // liste des rendezVous :
            //var rdvs = db.RendezVous.ToList();
            if (nonDispos != null && nonDispos.Count > 0)
            {
                foreach (var rdv in nonDispos)
                {
                    rdv.Text = "Non disponible";
                    creneauxAAfficher.Add(rdv);
                }
            }

            CreneauHoraire elementUtilisateur = (CreneauHoraire)HttpContext.Current.Session["MonCreneau"];

            // Si l'utilisateur est en train de faire un créneau à lui :
            if (elementUtilisateur != null)
            {
                // on va l'afficher :
                creneauxAAfficher.Add(elementUtilisateur);
            }

            Events = creneauxAAfficher;

            DataIdField    = "Id";
            DataTextField  = "Text";
            DataStartField = "DateDebut";
            DataEndField   = "DateFin";
        }
Exemple #6
0
        protected override void OnEventResize(EventResizeArgs e)
        {
            int idElement = Convert.ToInt32(e.Id);

            if (0 == idElement) // Si il s'agit bien de mon élément, qui n'est pas en base, donc id = 0
            {
                //var toBeResized = (from ev in db.CreneauxHoraires where ev.Id == idElement select ev).First();

                var toBeResized = (CreneauHoraire)HttpContext.Current.Session["MonCreneau"];

                if (e.NewEnd != e.OldEnd)
                {
                    // On a tiré par le bas :
                    toBeResized.DateFin   = e.NewEnd;
                    toBeResized.DateDebut = e.NewEnd.AddMinutes(-TempsSoinChoisis);
                }
                else
                {
                    // On a tiré par le haut :
                    toBeResized.DateDebut = e.NewStart;
                    toBeResized.DateFin   = e.NewStart.AddMinutes(TempsSoinChoisis);
                }

                var masseusesDispo = RendezVousServiceProxy.Instance().ObtenirMasseusesDisponibles(toBeResized);
                // Si il y a bien une masseuse dispo :
                if (masseusesDispo == null || masseusesDispo.Count == 0)
                {
                    //Rollback :
                    toBeResized.DateDebut = e.OldStart;
                    toBeResized.DateFin   = e.OldEnd;
                }

                // Ligne inutile : ref = même ref.
                HttpContext.Current.Session["MonCreneau"] = toBeResized;

                //db.SaveChanges();
            }
            Update();
        }
        public ActionResult Payer(PaiementViewModel paiementVM)
        {
            //Ajout du rdv si il existe :

            if (paiementVM.RecapitulatifVM.RendezVous != null)
            {
                RendezVousServiceProxy.Instance().AjouterRendezVous(paiementVM.RecapitulatifVM.RendezVous);
            }

            Commande commande = new Commande();

            commande.Cliente    = (Cliente)UtilisateurServiceProxy.Instance().ObtenirUtilisateur(Int32.Parse(User.Identity.Name));
            commande.RendezVous = paiementVM.RecapitulatifVM.RendezVous;
            commande.Produits   = paiementVM.RecapitulatifVM.Produits;
            // Ajout de la commande
            CommandeServiceProxy.Instance().AjouterCommande(commande);

            // Appels services pour enregistrer le rendez-vous en base :



            // Une fois l'intélligence appelée ici, on se redirige vers la view de suivi de ses commandes.
            return(RedirectToAction("SuiviCommande"));
        }