Exemple #1
0
        public async Task <IActionResult> Post([FromForm] EditFournisseursViewModel fournisseurs)

        {
            if (ModelState.IsValid)
            {
                try {
                    DocumentsFournisseurs documentsFournisseurs = new DocumentsFournisseurs();

                    using (var memoryStream = new MemoryStream()) {
                        await fournisseurs.Contract.CopyToAsync(memoryStream);

                        documentsFournisseurs.Documents           = memoryStream.ToArray();
                        documentsFournisseurs.typeDocFournisseurs = TypeDocFournisseurs.contrat;
                        documentsFournisseurs.DocumentName        = fournisseurs.Contract.FileName;
                    }

                    Fournisseurs _fournisseurs = new Fournisseurs {
                        Adresse = fournisseurs.Adresse,
                        AlternatePhoneNumber = fournisseurs.PhoneNumber,
                        NomDg          = fournisseurs.NomDg,
                        NomSociete     = fournisseurs.NomSociete,
                        PhoneNumber    = fournisseurs.PhoneNumber,
                        CodePostale    = fournisseurs.CodePostale,
                        Email          = fournisseurs.Email,
                        Titre          = fournisseurs.Titre,
                        Emailcommande  = fournisseurs.Emailcommande,
                        FormeJuridique = fournisseurs.FormeJuridique,
                        TelCommande    = fournisseurs.TelCommande,
                        TelDg          = fournisseurs.TelDg,
                        Villes         = JsonConvert.DeserializeObject <Villes> (fournisseurs.Ville),
                        Devises        = JsonConvert.DeserializeObject <Devises> (fournisseurs.Devises),
                        TypePayments   = (TypePayments)Convert.ToInt32(fournisseurs.TypePayement),
                        BankInfos      = new BankInfos {
                            AccountName      = fournisseurs.AccountName,
                            AccountNumber    = fournisseurs.AccountNumber,
                            Adrresse         = fournisseurs.Adressebk,
                            BankName         = fournisseurs.BankName,
                            Email            = fournisseurs.Emailbk,
                            IBAN             = fournisseurs.Iban,
                            TelephoneNumbers = fournisseurs.Tel,
                            Villes           = JsonConvert.DeserializeObject <Villes> (fournisseurs.Villebk),
                        }
                    };

                    var deviseF = _unitOfWork.Devises.GetSingleOrDefaultAsync(e => e.Id == _fournisseurs.Devises.Id);
                    var villeF  = _unitOfWork.Villes.GetSingleOrDefaultAsync(e => e.Id == _fournisseurs.Villes.Id);
                    var villeBF = _unitOfWork.Villes.GetSingleOrDefaultAsync(e => e.Id == _fournisseurs.BankInfos.Villes.Id);

                    _fournisseurs.Villes           = villeF.Result;
                    _fournisseurs.Devises          = deviseF.Result;
                    _fournisseurs.BankInfos.Villes = villeBF.Result;

                    _fournisseurs.NomSociete           = _fournisseurs.NomSociete.ToUpper();
                    documentsFournisseurs.Fournisseurs = _fournisseurs;

                    _unitOfWork.DocumentsFournisseurs.Add(documentsFournisseurs);

                    foreach (var item in fournisseurs.Secteurs[0].Split(','))
                    {
                        var sec = _unitOfWork.Secteurs.GetSingleOrDefault(e => e.Id == Convert.ToInt32(item));
                        _unitOfWork.SecteursFournisseurs.Add(new SecteursFournisseurs {
                            Secteurs     = sec,
                            Fournisseurs = _fournisseurs
                        });
                    }

                    await _unitOfWork.SaveChangesAsync();

                    return(Ok("OK"));
                } catch (Exception ex) {
                    return(BadRequest(ex.Data));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Exemple #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));
            }
        }