Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
            }
        }