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)); }
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)); }
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()); }