Example #1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if ((filterContext.HttpContext.Request.Cookies["UserSettings"] != null) &&
                (filterContext.HttpContext.Request.Cookies["UserSettings"]["token"] != null))
            {
                string userToken = filterContext.HttpContext.Request.Cookies["UserSettings"]["token"];
                string userEMail = filterContext.HttpContext.Request.Cookies["UserSettings"]["email"];

                string apiUrl = "http://localhost:50631/api/prestataires/email?email=" + userEMail;
                Task <System.Net.Http.HttpResponseMessage> t = Task.Run <System.Net.Http.HttpResponseMessage>(async() => await apiUrl
                                                                                                              .WithOAuthBearerToken(userToken)
                                                                                                              .WithHeader("Accept", "application/json")
                                                                                                              .GetAsync());

                bool IsSuccess = false;
                try { IsSuccess = t.Result.IsSuccessStatusCode; }
                catch (Exception e)
                {
                }
                if (IsSuccess)
                {
                    Prestataire p = Task.Run <Prestataire>(async() => await t.ReceiveJson <Prestataire>()).Result;
                    filterContext.Controller.ViewBag.prestataire = p;
                }
                else
                {
                    filterContext.Controller.ViewBag.prestataire = default(Prestataire);
                }
            }
            else
            {
                filterContext.Controller.ViewBag.prestataire = default(Client);
            }
        }
        public IHttpActionResult PutPrestataire(int id, Prestataire prestataire)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != prestataire.Id)
            {
                return(BadRequest());
            }

            db.Entry(prestataire).State            = EntityState.Modified;
            db.Entry(prestataire.Coordonnee).State = EntityState.Modified;
            db.Entry(prestataire.Voiture).State    = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PrestataireExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        private void EDITPresta_Click(object sender, RoutedEventArgs e)
        {
            WindowAdd   wa = new WindowAdd(this);
            Prestataire p  = Business.p;



            if (Business.p != null)
            {
                wa.modeEdit = true;
                wa.Show();
                wa.labelTitre.Content = "EDITER LE PRESTATAIRE [Id :" + Business.p.Id + "]";
                wa.button2.Visibility = Visibility.Hidden;
                wa.button1.Content    = "Editer et fermer";
                wa.Title    = "Editer Prestataire";
                wa.Nom.Text = p.Nom;
                wa.Url.Text = p.Url;
                wa.MyfilterCategorie.Header = "_" + p.Categorie;
                wa.Contact.Text             = p.Contact;
                wa.Adresse.Text             = p.Adresse;
                wa.Description.Text         = p.Description;
                wa.Activation.IsChecked     = p.Activation;
                wa.Prix.Text = p.Prix;
            }
            else
            {
                EDITPresta.IsEnabled = false;
                MessageBox.Show("Aucun prestataire selectionner");
            }
        }
        private void Mygrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            Prestataire p = (Prestataire)this.Mygrid.SelectedItem;

            EDITPresta.IsEnabled = true;
            Business.p           = p;

            WindowAdd   wa = new WindowAdd(this);
            Prestataire p2 = Business.p;

            wa.modeEdit = true;
            wa.Show();
            wa.labelTitre.Content = "Editer le prestataire Id" + Business.p.Id;
            wa.button2.Visibility = Visibility.Hidden;
            wa.button1.Content    = "Editer et fermer";
            wa.Title    = "Editer Prestataire";
            wa.Nom.Text = p2.Nom;
            wa.Url.Text = p2.Url;
            wa.MyfilterCategorie.Header = "_" + p2.Categorie;
            wa.Contact.Text             = p2.Contact;
            wa.Adresse.Text             = p2.Adresse;
            wa.Description.Text         = p2.Description;
            wa.Activation.IsChecked     = p2.Activation;
            wa.Prix.Text = p2.Prix;
        }
        private void Mygrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Prestataire p = (Prestataire)this.Mygrid.SelectedItem;

            EDITPresta.IsEnabled = true;
            Business.p           = p;
        }
        public IHttpActionResult DemarrerPrestation(int idpresta)
        {
            Prestataire p = db.Prestataires.Find(idpresta);

            p.Disponibilite = Dispo.Occupe;
            db.SaveChanges();
            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult PrestataireRepriseService(int idpresta)
        {
            Prestataire p = db.Prestataires.Find(idpresta);

            p.Disponibilite = Dispo.Dispo;
            //db.Entry(prestataire).State = EntityState.Modified;
            db.SaveChanges();
            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult GetPrestataire(int id)
        {
            Prestataire prestataire = db.Prestataires.Find(id);

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

            return(Ok(prestataire));
        }
        public IHttpActionResult PostPrestataire(Prestataire prestataire)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Prestataires.Add(prestataire);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = prestataire.Id }, prestataire));
        }
        public IHttpActionResult DeletePrestataire(int id)
        {
            Prestataire prestataire = db.Prestataires.Find(id);

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

            db.Prestataires.Remove(prestataire);
            db.SaveChanges();

            return(Ok(prestataire));
        }
        private void AddClosePresta_Click(object sender, RoutedEventArgs e)
        {
            Prestataire p = new Prestataire(0, Nom.Text, Url.Text, MyfilterCategorie.Header.ToString().Replace("_", ""), Contact.Text.Replace(".", ""), Adresse.Text, Description.Text, Activation.IsChecked.Value, Prix.Text);

            if (PrestataireAcces.InsertPrestataire(p))
            {
                MessageBox.Show(" Les infos client ont bien été envoyés ");
                mw.LOADbdd();
            }
            else
            {
                MessageBox.Show(" Erreur, les infos client n'ont pas pu été envoyées ");
            }
            this.Close();
        }
        private void AddPresta_Click(object sender, RoutedEventArgs e)
        {
            if (modeEdit)
            {
                Prestataire p = Business.p;
                p.Nom         = Nom.Text;
                p.Url         = Url.Text;
                p.Categorie   = MyfilterCategorie.Header.ToString().Replace("_", "");
                p.Contact     = Contact.Text.Replace(".", "");
                p.Adresse     = Adresse.Text;
                p.Description = Description.Text;
                p.Activation  = Activation.IsChecked.Value;
                p.Prix        = Prix.Text;

                if (PrestataireAcces.UpdatePrestataire(p))
                {
                    MessageBox.Show("Le prestataire Id:" + p.Id + ", nommé " + p.Nom + " a bien était mis à jour");
                    mw.LOADbdd();
                }
                else
                {
                    MessageBox.Show(" Une Erreur c'est produite [UPDATE Methode] ");
                }
                this.Close();
            }
            else
            {
                Prestataire p = new Prestataire(0, Nom.Text, Url.Text, MyfilterCategorie.Header.ToString().Replace("_", ""), Contact.Text.Replace(".", ""), Adresse.Text, Description.Text, Activation.IsChecked.Value, Prix.Text);
                if (PrestataireAcces.InsertPrestataire(p))
                {
                    MessageBox.Show(" Prestataire n°Id: " + p.Id + " nommé " + p.Nom + " a bien était ajouté à la base de donnée");
                    mw.LOADbdd();
                }
                else
                {
                    MessageBox.Show(" Erreur, les infos client n'ont pas pu été envoyées ");
                }
            }
        }
Example #13
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (model == null)
            {
                try
                { model = (LoginViewModel)TempData["model"]; } catch (Exception e) { }
            }
            if (returnUrl == null)
            {
                try
                {
                    returnUrl = (string)TempData["returnUrl"];
                }
                catch (Exception e) { }
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // Ceci ne comptabilise pas les échecs de connexion pour le verrouillage du compte
            // Pour que les échecs de mot de passe déclenchent le verrouillage du compte, utilisez shouldLockout: true
            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

            TokenModel tm = new TokenModel("password", model.Email, model.Password);

            TokenResultModel result = await "http://localhost:50631/token"
                                      .WithHeader("Accept", "application/json")
                                      .PostUrlEncodedAsync(tm).ReceiveJson <TokenResultModel>();

            if ((result != null) && (result.access_token != null))
            {
                HttpCookie myCookie = new HttpCookie("UserSettings");
                myCookie["token"] = result.access_token;
                myCookie["email"] = model.Email;

                //// récupérer le nom du user à partir des coordonnées de client
                string apiUrl    = "http://localhost:50631/api/clients/email?email=" + model.Email;
                bool   IsSuccess = false;
                try
                {
                    Client c = Task.Run <Client>(async() => await apiUrl
                                                 .WithOAuthBearerToken(result.access_token)
                                                 .WithHeader("Accept", "application/json")
                                                 .GetAsync().ReceiveJson <Client>()).Result;;
                    myCookie["Name"] = c.Coordonnee.Nom + " " + c.Coordonnee.Prenom;
                }
                catch (Exception e1)
                {
                    apiUrl = "http://localhost:50631/api/prestataires/email?email=" + model.Email;
                    try
                    {
                        Prestataire p = Task.Run <Prestataire>(async() => await apiUrl
                                                               .WithOAuthBearerToken(result.access_token)
                                                               .WithHeader("Accept", "application/json")
                                                               .GetAsync().ReceiveJson <Prestataire>()).Result;;
                        myCookie["Name"] = p.Coordonnee.Nom + " " + p.Coordonnee.Prenom;
                    }
                    catch (Exception e2)
                    {
                        myCookie["Name"] = "";
                    }
                }
                ////
                myCookie.Expires = DateTime.Now.AddDays(3d); //result.expires;
                Response.Cookies.Add(myCookie);
                return(RedirectToLocal(returnUrl));
            }
            else
            {
                ModelState.AddModelError("", "Tentative de connexion non valide.");
                return(View(model));
            }
            //case SignInStatus.RequiresVerification:
            //       return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
        }