// GET: GEN/GEN_Dossiers/Create
        public ActionResult Create(long?id)
        {
            //ViewBag.IdSociete = new SelectList(db.GEN_Societes, "Id", "RaisonSociale");
            DossiersPivot gEN_Dossiers;

            if (id == null)
            {
                gEN_Dossiers = dossiersServise.getingDossierActif();
                //db.GEN_Dossiers.Where(x => x.Actif == false && x.CodeDossier == "").FirstOrDefault();
                if (gEN_Dossiers != null)
                {
                    // db.GEN_Dossiers.Remove(gEN_Dossiers);

                    dossiersServise.DeleteDossiersPivot(gEN_Dossiers);
                    dossiersServise.SaveDossiers();
                    // db.SaveChanges();
                }

                ViewBag.IdTypeDossier = new SelectList(dossiersServise.GetingModelItem(Model1), "Id", "Libelle");
                //new SelectList(db.GEN_Items.Where(e => e.GEN_Model.Model == "FormeJuridique" && e.GEN_Model.IdSociete == CurrentSocieteId), "Id", "Libelle");

                // ViewBag.Pays = new SelectList(db.GEN_Items.Where(e => e.GEN_Model.Model == "Pays" && e.GEN_Model.IdSociete == CurrentSocieteId), "Id", "Libelle");
                ViewBag.DossierPays = new SelectList(dossiersServise.GetingModelItem(Model2), "Id", "Libelle");


                //ViewBag.IdDeviseTenueCompte = new SelectList(db.GEN_Devises.Where(e => e.IdDossier == CurrentPreference.IdDossier && e.Actif), "Id", "Code");

                ViewBag.IdDeviseTenueCompte = new SelectList(devisesService.GetDeviseByCond(), "DevisesId", "DevisesCode");


                return(View());
            }
            else
            {
                gEN_Dossiers = dossiersServise.GetDossiersAndInclude(id);

                DossierFormViewModel gEN_Doss = Mapper.Map <DossiersPivot, DossierFormViewModel>(gEN_Dossiers);

                //db.GEN_Dossiers.Where(x => x.Id == id).Include(x => x.GEN_DossiersContacts).FirstOrDefault();
                ViewBag.Message = TempData["errorMessage"] + "";
                if (gEN_Dossiers == null)
                {
                    TempData["Message"] = "Le dossier que vous cherchez n'existe pas.";
                    return(RedirectToAction("Index"));
                }

                ViewBag.IdTypeDossier = new SelectList(dossiersServise.GetingModelItem(Model1), "Id", "Libelle");
                //new SelectList(db.GEN_Items.Where(e => e.GEN_Model.Model == "FormeJuridique" && e.GEN_Model.IdSociete == CurrentSocieteId), "Id", "Libelle");
                // ViewBag.Pays = new SelectList(db.GEN_Items.Where(e => e.GEN_Model.Model == "Pays" && e.GEN_Model.IdSociete == CurrentSocieteId), "Id", "Libelle");
                ViewBag.DossierPays = new SelectList(dossiersServise.GetingModelItem(Model2), "Id", "Libelle");

                // ViewBag.IdDeviseTenueCompte = new SelectList(db.GEN_Devises.Where(e => e.IdDossier == CurrentPreference.IdDossier && e.Actif), "Id", "Code");

                ViewBag.IdDeviseTenueCompte = new SelectList(devisesService.GetDeviseByCond(), "DevisesId", "DevisesCode");;
                return(View(gEN_Doss));
            }
        }
        public ActionResult DeleteConfirmed([Bind(Include = "DossierId")] DossierFormViewModel gEN_dossiers)
        {
            DossiersPivot gEN_Dossiers = dossiersServise.GetDossiersPivot(gEN_dossiers.DossierId);

            //db.GEN_Dossiers.Find(id);
            //var test = from b in db.CPT_Pieces where b.IdDossier == gEN_Dossiers.Id select b;
            var test = dossiersServise.GetCPT_Piece(gEN_Dossiers.DossierId);

            if (test.Count() > 0)
            {
                TempData["errorMessage"] = "Vous ne pouvez pas supprimer ce dossier car une pièce est crée dans ce dossier ";
                return(RedirectToAction("Create", new { id = gEN_Dossiers.DossierId }));
            }
            else
            {
                //db.GEN_Dossiers.Remove(gEN_Dossiers);
                dossiersServise.DeleteDossiersPivot(gEN_Dossiers);
                // db.SaveChanges();
                dossiersServise.SaveDossiers();
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult Create([Bind(Include = "DossierId,CodeDossier,DossierRaisonSociale,IdTypeDossier,DossierAdresse,DossierTel,DossierFax,DossierEmail,DossierVille,DossierPays,DossierSiteWeb,DossierCapitalSocial,IdDeviseTenueCompte,DossierIdentifiantFiscale,DossierIdentifiantTVA,DossierPatente,DossierRegistreCommerce,DossierNumeroCNSS,DossierICE,DossierComptaActif,DossierGescomAtif,DossierPaieActif,DossierActif,DossierCleSecuriteCompta,DossierCleSecuritePaie,DossierCleSecuriteGescom,DossierCleSecurite")] DossiersPivot gEN_Dossiers)
        {
            ViewBag.IdTypeDossier = new SelectList(dossiersServise.GetingModelItem(Model1), "Id", "Libelle", gEN_Dossiers.IdTypeDossier);
            //new SelectList(db.GEN_Items.Where(e => e.GEN_Model.Model == "FormeJuridique" && e.GEN_Model.IdSociete == CurrentSocieteId), "Id", "Libelle", gEN_Dossiers.IdTypeSociete);
            // ViewBag.Pays = new SelectList(db.GEN_Items.Where(e => e.GEN_Model.Model == "Pays" && e.GEN_Model.IdSociete == CurrentSocieteId), "Id", "Libelle", gEN_Dossiers.Pays);
            ViewBag.DossierPays = new SelectList(dossiersServise.GetingModelItem(Model2), "Id", "Libelle", gEN_Dossiers.DossierPays);



            // ViewBag.IdDeviseTenueCompte = new SelectList(db.GEN_Devises.Where(e => e.IdDossier == CurrentPreference.IdDossier && e.Actif), "Id", "Code", gEN_Dossiers.IdDeviseTenueCompte);
            ViewBag.IdDeviseTenueCompte = new SelectList(devisesService.GetDeviseByCond(), "DevisesId", "DevisesCode", gEN_Dossiers.IdDeviseTenueCompte);

            var errors = ModelState.Where(x => x.Key != "DossierId").Select(x => x.Value.Errors).Where(y => y.Count > 0).ToList();

            if (errors.Count == 0)
            {
                DossiersPivot gen_dossierCreer = gEN_Dossiers;
                if (gEN_Dossiers.DossierId > 0)
                {
                    // gen_dossierCreer.IdSociete = CurrentSocieteId;
                    //gen_dossierCreer.Doss = CurrentSocieteId;
                    gen_dossierCreer.DossierActif          = true;
                    gen_dossierCreer.Dossiersys_user       = Constantes.IdentifiantUser;
                    gen_dossierCreer.Dossiersys_dateUpdate = DateTime.Now;
                    //db.Entry(gEN_Dossiers).State = EntityState.Modified;
                    dossiersServise.UpdateDossierPivot(gen_dossierCreer);
                    dossiersServise.SaveDossiers();
                }
                else
                {
                    gen_dossierCreer = dossiersServise.getingDossierActif();

                    //db.GEN_Dossiers.Where(x => x.Actif == false && x.CodeDossier == "").FirstOrDefault();


                    if (gen_dossierCreer == null)
                    {
                        gen_dossierCreer = gEN_Dossiers;
                        gen_dossierCreer.DossierActif            = true;
                        gen_dossierCreer.Dossiersys_dateCreation = DateTime.Now;
                        gen_dossierCreer.Dossiersys_dateUpdate   = DateTime.Now;
                        gen_dossierCreer.Dossiersys_user         = Constantes.IdentifiantUser;
                        //  gen_dossierCreer.DossierIdSociete = CurrentSocieteId;

                        // db.GEN_Dossiers.Add(gen_dossierCreer);
                        dossiersServise.CreateDossiersPivot(gen_dossierCreer);
                        dossiersServise.SaveDossiers();
                        //db.SaveChanges();
                    }
                    else
                    {
                        gen_dossierCreer.DossierActif             = gEN_Dossiers.DossierActif;
                        gen_dossierCreer.DossierAdresse           = gEN_Dossiers.DossierAdresse;
                        gen_dossierCreer.DossierCapitalSocial     = gEN_Dossiers.DossierCapitalSocial;
                        gen_dossierCreer.DossierCleSecurite       = gEN_Dossiers.DossierCleSecurite;
                        gen_dossierCreer.DossierCleSecuriteCompta = gEN_Dossiers.DossierCleSecuriteCompta;
                        gen_dossierCreer.DossierCleSecuriteGescom = gEN_Dossiers.DossierCleSecuriteGescom;
                        gen_dossierCreer.DossierCleSecuritePaie   = gEN_Dossiers.DossierCleSecuritePaie;
                        gen_dossierCreer.CodeDossier               = gEN_Dossiers.CodeDossier;
                        gen_dossierCreer.DossierComptaActif        = gEN_Dossiers.DossierComptaActif;
                        gen_dossierCreer.DossierEmail              = gEN_Dossiers.DossierEmail;
                        gen_dossierCreer.DossierFax                = gEN_Dossiers.DossierFax;
                        gen_dossierCreer.DossierGescomAtif         = gEN_Dossiers.DossierGescomAtif;
                        gen_dossierCreer.DossierICE                = gEN_Dossiers.DossierICE;
                        gen_dossierCreer.IdDeviseTenueCompte       = gEN_Dossiers.IdDeviseTenueCompte;
                        gen_dossierCreer.DossierIdentifiantFiscale = gEN_Dossiers.DossierIdentifiantFiscale;
                        gen_dossierCreer.DossierIdentifiantTVA     = gEN_Dossiers.DossierIdentifiantTVA;
                        gen_dossierCreer.IdTypeDossier             = gEN_Dossiers.IdTypeDossier;
                        gen_dossierCreer.DossierNumeroCNSS         = gEN_Dossiers.DossierNumeroCNSS;
                        gen_dossierCreer.DossierPaieActif          = gEN_Dossiers.DossierPaieActif;
                        gen_dossierCreer.DossierPatente            = gEN_Dossiers.DossierPatente;
                        gen_dossierCreer.DossierPays               = gEN_Dossiers.DossierPays;
                        gen_dossierCreer.DossierRaisonSociale      = gEN_Dossiers.DossierRaisonSociale;
                        gen_dossierCreer.DossierRegistreCommerce   = gEN_Dossiers.DossierRegistreCommerce;
                        gen_dossierCreer.DossierSiteWeb            = gEN_Dossiers.DossierSiteWeb;
                        gen_dossierCreer.DossierTel                = gEN_Dossiers.DossierTel;
                        gen_dossierCreer.DossierVille              = gEN_Dossiers.DossierVille;
                        gen_dossierCreer.Dossiersys_dateUpdate     = DateTime.Now;
                        gen_dossierCreer.Dossiersys_dateCreation   = DateTime.Now;
                        gen_dossierCreer.Dossiersys_user           = Constantes.IdentifiantUser;
                        //gen_dossierCreer.DossierIdSociete = CurrentSocieteId;

                        // db.Entry(gen_dossierCreer).State = EntityState.Modified;
                        dossiersServise.UpdateDossierPivot(gen_dossierCreer);
                        dossiersServise.SaveDossiers();
                    }
                }

                //db.SaveChanges();
                dossiersServise.SaveDossiers();
                return(RedirectToAction("Index"));
                // return RedirectToAction("Create", new { id = gen_dossierCreer.DossierId });
            }


            DossierFormViewModel gEN_Doss = Mapper.Map <DossiersPivot, DossierFormViewModel>(gEN_Dossiers);

            return(View(gEN_Doss));
        }