Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Civilite,Nom,Prenom,Email,CarteFidelite,Societe")] Client client)
        {
            if (id != client.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(client);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ClientExists(client.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(client));
        }
Esempio n. 2
0
        public void SaveReservation(Reservation reservation, int idclient, short numero)
        {
            var client = db.Client.AsNoTracking().Where(x => x.Id == idclient).FirstOrDefault();
            int nbjour = 0;

            for (int i = 0; i < reservation.NombreDeJour; i++)
            {
                Reservation res = new Reservation();
                res.NumChambre  = numero;
                res.NbPersonnes = reservation.NbPersonnes;
                res.Travail     = reservation.Travail;
                if (nbjour == 0)
                {
                    res.NombreDeJour = reservation.NombreDeJour;
                }
                else
                {
                    res.NombreDeJour = 0;
                }
                res.JourNavigation = db.Calendrier.Where(x => x.Jour == reservation.Jour.AddDays(i)).FirstOrDefault();
                res.HeureArrivee   = reservation.HeureArrivee;
                client.Reservation.Add(res);
                db.Update(client);
                db.SaveChanges();
                nbjour++;
            }
        }
        public async Task <IActionResult> Edit(short id, [Bind("Numero,Etage,Bain,Douche,Wc,NbLits,NumTel")] Chambre chambre)
        {
            if (id != chambre.Numero)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(chambre);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ChambreExists(chambre.Numero))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(chambre));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,IdClient,DateFacture,DatePaiement,CodeModePaiement")] Facture facture)
        {
            if (id != facture.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(facture);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FactureExists(facture.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CodeModePaiement"] = new SelectList(_context.ModePaiement, "Code", "Code", facture.CodeModePaiement);
            ViewData["IdClient"]         = new SelectList(_context.Client, "Id", "Civilite", facture.IdClient);
            return(View(facture));
        }
Esempio n. 5
0
        public async Task <IActionResult> ChangeAccount(CreationClientVM clientVM)
        {
            if (!ModelState.IsValid)
            {
                clientVM.StatusMessage = "Erreur : Veuillez rensignez toutes les coordonnées correctement";
                return(View(clientVM));
            }

            var user = await _userManager.GetUserAsync(User);

            try
            {
                //Update Client
                #region
                Client clientAncien = await _context.Client.Where(c => c.Email == user.Email).SingleOrDefaultAsync();

                clientAncien.Civilite = clientVM.Civilite;
                clientAncien.Nom      = clientVM.Nom.ToUpper();
                // Le nom et la premiere lettre du prénom en majuscule
                clientAncien.Prenom = clientVM.Prenom[0].ToString().ToUpper() + clientVM.Prenom.Substring(1);
                clientAncien.Email  = user.Email;

                clientVM.id = clientAncien.Id;
                _context.Update(clientAncien);
                await _context.SaveChangesAsync();

                #endregion

                //Update Adresse
                if (clientVM.AdresseVille != null && clientVM.AdresseRue != null && clientVM.AdresseCodePostal != null)
                {
                    Adresse adresseAncienne = await _context.Adresse.Where(a => a.IdClient == clientVM.id).SingleOrDefaultAsync();

                    adresseAncienne.IdClient   = clientVM.id;
                    adresseAncienne.Rue        = clientVM.AdresseRue;
                    adresseAncienne.CodePostal = clientVM.AdresseCodePostal;
                    adresseAncienne.Ville      = clientVM.AdresseVille.ToUpper();

                    _context.Update(adresseAncienne);
                    await _context.SaveChangesAsync();
                }

                //Update Telephones
                #region
                //Si numéro non identique
                if (clientVM.TelephoneDom != clientVM.TelephonePort)
                {
                    //Domicile
                    if (clientVM.TelephoneDom.Length == 10)
                    {
                        string telClient = await _context.Telephone.Where(t => t.IdClient == clientVM.id && t.CodeType == "F").Select(t => t.Numero).SingleOrDefaultAsync();

                        string telExistDeja = await _context.Telephone.Where(t => t.Numero == clientVM.TelephoneDom).Select(t => t.Numero).SingleOrDefaultAsync();

                        Telephone telDom = await _context.Telephone.Where(t => t.IdClient == clientVM.id && t.CodeType == "F").SingleOrDefaultAsync();

                        // Si le client n'avait pas de numéro
                        if (telClient == null)
                        {
                            Telephone telNouveau = new Telephone()
                            {
                                IdClient = clientVM.id,
                                CodeType = "F",
                                Numero   = clientVM.TelephoneDom,
                                Pro      = clientVM.ProDom
                            };

                            _context.Telephone.Add(telNouveau);
                            await _context.SaveChangesAsync();
                        }
                        // si le numéro n'existe pas dans la BDD ET que le client a déja un numéro
                        else if (telExistDeja == null)
                        {
                            _context.Remove(telDom);
                            await _context.SaveChangesAsync();

                            telDom.IdClient = clientVM.id;
                            telDom.Numero   = clientVM.TelephoneDom;
                            telDom.Pro      = clientVM.ProDom;
                            telDom.CodeType = "F";

                            _context.Add(telDom);
                            await _context.SaveChangesAsync();
                        }
                        else if (clientVM.TelephoneDom != telDom.Numero)
                        {
                            clientVM.TelephonePort = "";
                            ViewBag.statutmssg     = "Erreur : Numero de telephone Portable déja utilisé..";
                            return(View());
                        }
                    }
                    // Si veut simplement supprimer un telephone
                    else
                    {
                        Telephone telDom = await _context.Telephone.Where(t => t.IdClient == clientVM.id && t.CodeType == "F").SingleOrDefaultAsync();

                        _context.Remove(telDom);
                        await _context.SaveChangesAsync();
                    }

                    //Portable
                    if (clientVM.TelephonePort.Length == 10)
                    {
                        string telClient = await _context.Telephone.Where(t => t.IdClient == clientVM.id && t.CodeType == "M").Select(t => t.Numero).SingleOrDefaultAsync();

                        string telExist = await _context.Telephone.Where(t => t.Numero == clientVM.TelephonePort).Select(t => t.Numero).SingleOrDefaultAsync();

                        Telephone telPort = await _context.Telephone.Where(t => t.IdClient == clientVM.id && t.CodeType == "M").SingleOrDefaultAsync();


                        // Si le client n'avait pas de numéro
                        if (telClient == null)
                        {
                            Telephone telNouveau = new Telephone()
                            {
                                IdClient = clientVM.id,
                                CodeType = "M",
                                Numero   = clientVM.TelephonePort,
                                Pro      = clientVM.ProPort
                            };

                            _context.Telephone.Add(telNouveau);
                            await _context.SaveChangesAsync();
                        }
                        // si le numéro n'existe pas dans la BDD ET que le client a déja un numéro
                        else if (telExist == null)
                        {
                            _context.Remove(telPort);
                            await _context.SaveChangesAsync();

                            telPort.IdClient = clientVM.id;
                            telPort.Numero   = clientVM.TelephonePort;
                            telPort.Pro      = clientVM.ProPort;
                            telPort.CodeType = "M";

                            _context.Add(telPort);
                            await _context.SaveChangesAsync();
                        }
                        else if (clientVM.TelephonePort != telPort.Numero)
                        {
                            clientVM.TelephonePort = "";
                            ViewBag.statutmssg     = "Erreur : Numero de telephone Portable déja utilisé..";
                            return(View());
                        }
                    }
                    // Si veut simplement supprimer un telephone
                    else
                    {
                        Telephone telPort = await _context.Telephone.Where(t => t.IdClient == clientVM.id && t.CodeType == "M").SingleOrDefaultAsync();

                        _context.Remove(telPort);
                        await _context.SaveChangesAsync();
                    }
                }

                else
                {
                    ViewBag.statutmssg = "Erreur : Numeros identiques...";
                    return(View());
                }
                #endregion
            }
            catch (Exception e)
            {
                ViewBag.statutmssg = "Erreur : " + e.Message;
                return(View());
            }

            ViewBag.statutmssg = "Compte modifié avec succés";
            return(View());
        }