public IActionResult GetfournisseurById(int id) { var _fournisseurs = _unitOfWork.Fournisseurs.GetAllIncluding(e => e.Villes, f => f.Devises).FirstOrDefault(e => e.Id == id); EditFournisseurViewModel fou = new EditFournisseurViewModel(); fou = Mapper.Map <EditFournisseurViewModel> (_fournisseurs); BankInfos bkinfo = _unitOfWork.BankInfos.GetAllIncluding(e => e.Villes).FirstOrDefault(e => e.Id == id); fou.AccountName = bkinfo.AccountName; fou.AccountNumber = bkinfo.AccountNumber; fou.Adressebk = bkinfo.Adrresse; fou.BankName = bkinfo.BankName; fou.Iban = bkinfo.IBAN; fou.Tel = bkinfo.TelephoneNumbers; fou.Villebk = Mapper.Map <EditVillesViewModel> (_unitOfWork.Villes.GetSingleOrDefault(e => e.Id == bkinfo.Villes.Id)); fou.Paysbk = Mapper.Map <PaysViewModel> (_unitOfWork.Pays.GetSingleOrDefault(e => e.Id == fou.Villebk.PaysId)); fou.Pays = Mapper.Map <PaysViewModel> (_unitOfWork.Pays.GetSingleOrDefault(e => e.Id == fou.Villes.PaysId)); fou.Emailbk = bkinfo.Email; fou.Contract = _unitOfWork.DocumentsFournisseurs.GetSingleOrDefault(e => e.Fournisseurs.Id == _fournisseurs.Id && e.typeDocFournisseurs == TypeDocFournisseurs.contrat).Documents; fou.Secteurs = getSecteursByFournisseursById(_fournisseurs.Id); fou.TypePayement = (int)_fournisseurs.TypePayments; return(Ok(fou)); }
public async Task <IActionResult> Put(int id, [FromForm] EditFournisseursViewModel fournisseurs) { if (ModelState.IsValid) { try { DocumentsFournisseurs documentsFournisseurs = new DocumentsFournisseurs(); if (fournisseurs.Contract != null) { using (var memoryStream = new MemoryStream()) { await fournisseurs.Contract.CopyToAsync(memoryStream); documentsFournisseurs.Documents = memoryStream.ToArray(); documentsFournisseurs.typeDocFournisseurs = TypeDocFournisseurs.contrat; documentsFournisseurs.DocumentName = fournisseurs.Contract.FileName; } } Fournisseurs fou = _unitOfWork.Fournisseurs.GetSingleOrDefault(e => e.Id == id); if (fou != null) { fou.Adresse = fournisseurs.Adresse; fou.AlternatePhoneNumber = fournisseurs.PhoneNumber; fou.NomDg = fournisseurs.NomDg; fou.NomSociete = fournisseurs.NomSociete; fou.PhoneNumber = fournisseurs.PhoneNumber; fou.CodePostale = fournisseurs.CodePostale; fou.Email = fournisseurs.Email; fou.Titre = fournisseurs.Titre; fou.Emailcommande = fournisseurs.Emailcommande; fou.FormeJuridique = fournisseurs.FormeJuridique; fou.TelCommande = fournisseurs.TelCommande; fou.TelDg = fournisseurs.TelDg; fou.TypePayments = (TypePayments)Convert.ToInt32(fournisseurs.TypePayement); var deviseF = _unitOfWork.Devises.GetSingleOrDefault(e => e.Id == Convert.ToInt32(fournisseurs.Devises)); var villeF = _unitOfWork.Villes.GetSingleOrDefault(e => e.Id == Convert.ToInt32(fournisseurs.Ville)); var villeBF = _unitOfWork.Villes.GetSingleOrDefault(e => e.Id == Convert.ToInt32(fournisseurs.Villebk)); fou.Villes = villeF; fou.Devises = deviseF; BankInfos bkinfo = _unitOfWork.BankInfos.GetSingleOrDefault(e => e.FournisseursId == fou.Id); bkinfo.AccountName = fournisseurs.AccountName; bkinfo.AccountNumber = fournisseurs.AccountNumber; bkinfo.Adrresse = fournisseurs.Adressebk; bkinfo.BankName = fournisseurs.BankName; bkinfo.Email = fournisseurs.Emailbk; bkinfo.IBAN = fournisseurs.Iban; bkinfo.TelephoneNumbers = fournisseurs.Tel; bkinfo.Villes = villeBF; fou.BankInfos.Villes = villeBF; fou.NomSociete = fou.NomSociete.ToUpper(); } DocumentsFournisseurs docF = _unitOfWork.DocumentsFournisseurs.GetSingleOrDefault(e => e.Fournisseurs.Id == fou.Id); // documentsFournisseurs.Fournisseurs = fou; List <Secteurs> SercteursArrivant = new List <Secteurs> (); List <Secteurs> SercteursActuelles = new List <Secteurs> (); List <Secteurs> SercteursAsupprimer = new List <Secteurs> (); List <Secteurs> SercteursAJouter = new List <Secteurs> (); foreach (var item in fournisseurs.Secteurs[0].Split(',')) { var sec = _unitOfWork.Secteurs.GetSingleOrDefault(e => e.Id == Convert.ToInt32(item)); if (sec != null) { SercteursArrivant.Add(sec); } } SercteursActuelles = _unitOfWork.SecteursFournisseurs.GetAllIncluding(e => e.Secteurs, e => e.Fournisseurs).Where(f => f.FournisseursId == id).Select(e => e.Secteurs).ToList(); SercteursAsupprimer = SercteursActuelles.Except(SercteursArrivant).ToList(); SercteursAJouter = SercteursArrivant.Except(SercteursActuelles).ToList(); foreach (var sec in SercteursAsupprimer) { _unitOfWork.SecteursFournisseurs.Remove(_unitOfWork.SecteursFournisseurs.GetSingleOrDefault(e => e.SecteursId == sec.Id && e.FournisseursId == fou.Id)); } foreach (var sec in SercteursAJouter) { _unitOfWork.SecteursFournisseurs.Add( new SecteursFournisseurs { Secteurs = sec, Fournisseurs = fou } ); } await _unitOfWork.SaveChangesAsync(); return(Ok("OK")); } catch (Exception ex) { return(BadRequest(ex.Data)); } } else { return(BadRequest(ModelState)); } }