Example #1
0
        public Calculator(GeneralObject myGeneralObject)
        {
            this.db = new DevisFacturationEntities();
            this.ResultSumManager = new SumManager();
            this.genObject        = myGeneralObject;
            DateTime longDate = DateTime.Now;
            string   basePath = System.AppDomain.CurrentDomain.BaseDirectory;

            Directory.CreateDirectory(basePath + @"\Content\Devis" + longDate.Year.ToString() + "_" + longDate.AddMonths(-1).Month);
            this.logFile = new StreamWriter(basePath + @"\Content\Devis" + longDate.Year.ToString() + "_" + longDate.AddMonths(-1).Month + @"\Calcul.txt");
        }
Example #2
0
        public Boolean verifyProjectExist(Projet p)
        {
            DevisFacturationEntities db      = new DevisFacturationEntities();
            List <Projet>            projets = db.Projet.ToList();

            foreach (Projet myProject in projets)
            {
                if (myProject.Nom.Trim().ToLower() == p.Nom.Trim().ToLower())
                {
                    return(true);
                }
            }
            return(false);
        }
        public DevisElements(string _nomFichier, decimal _totalTable, bool isFactu = false, decimal?_tarCDP = null, decimal?_tarDT = null)
        {
            this.db = new DevisFacturationEntities();
            Paramètres param = db.Paramètres.Where(p => p.ID == 1).FirstOrDefault();

            this.dateCreation = DateTime.Now.ToShortDateString();
            this.dateVersion  = DateTime.Now.ToShortDateString();
            this.annee        = DateTime.Now.Year.ToString();
            this.mois         = new CultureInfo("fr-FR").DateTimeFormat.GetMonthName(isFactu ? DateTime.Now.AddMonths(-1).Month : DateTime.Now.Month).ToString();
            this.numVersion   = 1.0m;
            this.numEdition   = 1;
            this.nomFichier   = _nomFichier;
            this.totalTable   = _totalTable.ToString("G29");
            this.support      = (decimal)param.PrixSupport;
            DateTime firstOfTheMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);

            this.dateDebut      = firstOfTheMonth.AddMonths(1).ToLongDateString();
            this.livraisonFinal = firstOfTheMonth.AddMonths(2).AddDays(-1).ToLongDateString();

            if (_tarCDP == null)
            {
                decimal cdp = db.Tarification.Where(s => s.Type == "Chef de projet technique").Select(s => s.Tar5).First();
                decimal dt  = db.Tarification.Where(s => s.Type == "Directeur technique").Select(s => s.Tar5).First();
                //TODO possibiliter de saisir le nombre de jour
                decimal factuCDP = (decimal)param.NbJourCDP * cdp;
                this.facturationCDP = factuCDP.ToString("G29");
                decimal factuDT = (decimal)param.NbJourDT * dt;
                this.facturationDT = factuDT.ToString("G29");
                decimal totalDTCDP = factuCDP + factuDT;
                this.estimationDTCDP = totalDTCDP.ToString("G29");
                decimal total = decimal.Parse(this.estimationDTCDP) + decimal.Parse(this.totalTable) + this.support;
                this.totalCumule = total.ToString("G29");
            }
            else
            {
                decimal cdp      = db.Tarification.Where(s => s.Type == "Chef de projet technique").Select(s => s.Tar5).First();
                decimal dt       = db.Tarification.Where(s => s.Type == "Directeur technique").Select(s => s.Tar5).First();
                decimal factuCDP = Convert.ToDecimal(_tarCDP) * cdp;
                this.facturationCDP = factuCDP.ToString("G29");
                decimal factuDT = Convert.ToDecimal(_tarDT) * dt;
                this.facturationDT = factuDT.ToString("G29");
                decimal totalDTCDP = factuCDP + factuDT;
                this.estimationDTCDP = totalDTCDP.ToString("G29");
                decimal total = decimal.Parse(this.estimationDTCDP) + decimal.Parse(this.totalTable) + this.support;
                this.totalCumule = total.ToString("G29");
            }
        }
Example #4
0
        private DevisFacturationEntities db;            // attribut de contexte de bd (objet qui permet de faire les requetes a la base

        public TarificationController()
        {
            this.db = new DevisFacturationEntities();
        }
Example #5
0
 public FacturationController()
 {
     this.db = new DevisFacturationEntities(); // interface avec la bd
     db.Configuration.LazyLoadingEnabled = false;
 }
Example #6
0
        //public WordFileGenerator(FactuConstante obj, bool isFactu = false)
        //{
        //    DateTime longDate = DateTime.Now;
        //    this.isFactu = isFactu;
        //    this.basePath = System.AppDomain.CurrentDomain.BaseDirectory;
        //    this.tableSubTotal = 0;
        //    this.tableSubTotalBonus = 0;
        //    if (isFactu)
        //    {
        //        this.fileName = "Etat_des_lieux_VS_Devis_initial_All_NS_Reneco_" + longDate.Year.ToString() + "_" + longDate.AddMonths(-1).Month + ".docx";
        //    }
        //    else
        //    {

        //        this.fileName = "Devis_All_NS_Reneco_" + longDate.Year.ToString() + "_" + longDate.AddMonths(1).Month + ".docx";
        //    }
        //    obj.chefProjet.updateValue();
        //    obj.directeur.updateValue();
        //    this.final = loadTemplate();
        //    setValue("dateCreation", longDate.ToShortDateString());
        //    //     manageDevisTable(obj.projet);
        //    insertElementsInFiles(obj.chefProjet.sum, obj.directeur.sum);
        //    //Save template to a new name same location
        //    //TODO : convenir d'une convention de nommage
        //    this.final.SaveAs(this.basePath + @"\Content\" + this.fileName);
        //    this.encoded = File.ReadAllBytes(this.basePath + @"\Content\" + this.fileName);
        //}

        public WordFileGenerator(GeneralObject obj, SumManager sumManager, dynamic fichier, bool isFactu = false)
        {
            DevisFacturationEntities db = new DevisFacturationEntities();
            DateTime longDate           = DateTime.Now;

            this.isFactu            = isFactu;
            this.basePath           = System.AppDomain.CurrentDomain.BaseDirectory;
            this.tableSubTotal      = 0;
            this.tableSubTotalBonus = 0;
            if (isFactu)
            {
                List <Facturation> lesFactures = db.Facturation.Where(devisVerif => devisVerif.Commande.Trim().ToLower() == obj.epic.Trim().ToLower()).ToList();
                if (lesFactures.Count() > 0)
                {
                    fichier          = (Facturation)lesFactures[0];
                    fichier.Commande = obj.epic;
                    fichier.Mois     = DateTime.Now.ToString("MMMM");
                    this.isAnUpdate  = true;
                }
                else
                {
                    fichier          = (Facturation)fichier;
                    fichier.Commande = obj.epic;
                    fichier.Mois     = DateTime.Now.ToString("MMMM");
                    Devis devisSameCommande = db.Devis.Where(dev => dev.Commande.Trim().ToLower() == obj.epic.Trim().ToLower()).FirstOrDefault();
                    fichier.FK_Devis = devisSameCommande.ID;
                    this.isAnUpdate  = false;
                }
                this.fileName = "Etat_des_lieux_VS_Devis_initial_All_NS_Reneco_" + obj.epic.Trim() + ".docx";
            }
            else
            {
                List <Devis> lesDevis = db.Devis.Where(devisVerif => devisVerif.Commande.Trim().ToLower() == obj.epic.Trim().ToLower()).ToList();
                if (lesDevis.Count() > 0)
                {
                    fichier          = (Devis)lesDevis[0];
                    fichier.Commande = obj.epic;
                    fichier.Mois     = DateTime.Now.ToString("MMMM");
                    this.isAnUpdate  = true;
                }
                else
                {
                    fichier          = (Devis)fichier;
                    fichier.Commande = obj.epic;
                    fichier.Mois     = DateTime.Now.ToString("MMMM");
                    this.isAnUpdate  = false;
                }

                this.fileName = "Devis_All_NS_Reneco_" + obj.epic.Trim() + ".docx";
            }
            this.final = loadTemplate();
            setValue("dateCreation", longDate.ToShortDateString());
            manageDevisTable(obj, sumManager);
            if (isFactu)
            {
                insertElementsInFiles(fichier, obj.getJourCdp(), obj.getJourDT());
            }
            else
            {
                insertElementsInFiles(fichier);
            }
            this.final.SaveAs(this.basePath + @"\Content\Devis" + longDate.Year.ToString() + "_" + longDate.AddMonths(-1).Month + @"\" + this.fileName);
            this.encoded     = File.ReadAllBytes(this.basePath + @"\Content\Devis" + longDate.Year.ToString() + "_" + longDate.AddMonths(-1).Month + @"\" + this.fileName);
            fichier.Filename = this.fileName;
            fichier.Date     = DateTime.Now;
            //fichier.
            if (this.isFactu)
            {
                if (this.isAnUpdate)
                {
                    db.Facturation.Attach(fichier);
                    db.SaveChanges();
                }
                else
                {
                    db.Facturation.Add(fichier);
                    db.SaveChanges();
                }
            }
            else
            {
                if (this.isAnUpdate)
                {
                    db.Devis.Attach(fichier);
                    db.SaveChanges();
                }
                else
                {
                    db.Devis.Add(fichier);
                    db.SaveChanges();
                }
            }
        }
        private DevisFacturationEntities db;         // attribut de contexte de bd (objet qui permet de faire les requetes a la base
        // GET: api/MasterStories

        public Stories_dController()
        {
            this.db = new DevisFacturationEntities(); // instanciation du contexte de base donnée
        }
Example #8
0
        public void SaveToDb(bool isFactu, dynamic fichier)
        {
            DevisFacturationEntities db = new DevisFacturationEntities();

            if (!isFactu)
            {
                fichier = (Devis)fichier;
            }
            else
            {
                fichier = (Facturation)fichier;
            }
            switch (isFactu)
            {
            case false:
                List <Devis> lesdevis = db.Devis.Where(devisVerif => devisVerif.Commande.Trim().ToLower() == this.epic.Trim().ToLower()).ToList();
                if (lesdevis.Count() > 0)
                {
                    Devis devisAsupprimer = lesdevis[0];
                    fichier = lesdevis[0];
                    List <Stories_Devis> storiesDevisASuprimer = db.Stories_Devis.Where(stdevis => stdevis.FK_Devis == devisAsupprimer.ID).ToList();
                    foreach (Stories_Devis myStoriesDevis in storiesDevisASuprimer)
                    {
                        Stories_d      storyASupprimer  = db.Stories_d.Where(sas => sas.ID == myStoriesDevis.FK_Stories_d).FirstOrDefault();
                        List <Tasks_d> tachesAsupprimer = db.Tasks_d.Where(tachasup => tachasup.FK_Stories_d == storyASupprimer.ID).ToList();
                        foreach (Tasks_d ta in tachesAsupprimer)
                        {
                            db.Tasks_d.Remove(ta);
                        }
                        db.Stories_d.Remove(storyASupprimer);
                        db.Stories_Devis.Remove(myStoriesDevis);
                    }
                    devisAsupprimer.Date = DateTime.Now;
                    db.SaveChanges();
                    foreach (Projet p in this.projets)
                    {
                        if (!this.verifyProjectExist(p))
                        {
                            p.save();
                        }
                        foreach (MasterStories s in p.Stories)
                        {
                            Stories_d     stories_d     = new Stories_d(s);
                            Stories_Devis stories_Devis = new Stories_Devis();
                            Projet        proj          = db.Projet.Where(pro => pro.Nom.Trim().ToLower() == p.Nom.Trim().ToLower()).FirstOrDefault();
                            stories_d.Fk_Project   = proj.Id;
                            stories_d.IsPayed      = false;
                            stories_d.Epic         = this.epic;
                            stories_Devis.FK_Devis = fichier.ID;
                            stories_d.save();
                            stories_Devis.FK_Stories_d = stories_d.ID;
                            stories_Devis.CreationDate = DateTime.Now;
                            db.Stories_Devis.Add(stories_Devis);
                            db.SaveChanges();
                            foreach (MasterTasks ts in s.Tasks)
                            {
                                Tasks_d  tasks_d   = new Tasks_d(ts);
                                string[] initiales = tasks_d.Initials.Split('+');
                                foreach (string init in initiales)
                                {
                                    Ressource myressource = db.Ressource.Where(rez => rez.Initial == init).FirstOrDefault();
                                    tasks_d.Fk_Ressource_Initials += myressource.ID + ";";
                                }
                                tasks_d.FK_Stories_d = stories_d.ID;
                                tasks_d.save();
                            }
                        }
                    }
                }
                break;

            case true:
                List <Facturation> lesFacturations = db.Facturation.Where(devisVerif => devisVerif.Commande.Trim().ToLower() == this.epic.Trim().ToLower()).ToList();
                if (lesFacturations.Count() > 0)
                {
                    Facturation facturationASupprimer = lesFacturations[0];
                    fichier = lesFacturations[0];
                    List <Stories_Facturation> storiesDevisASuprimer = db.Stories_Facturation.Where(stdevis => stdevis.FK_Facturation == facturationASupprimer.ID).ToList();
                    foreach (Stories_Facturation myStoriesFacturation in storiesDevisASuprimer)
                    {
                        Stories_f      storyASupprimer  = db.Stories_f.Where(sas => sas.ID == myStoriesFacturation.FK_Stories_f).FirstOrDefault();
                        List <Tasks_f> tachesAsupprimer = db.Tasks_f.Where(tachasup => tachasup.FK_Stories_f == storyASupprimer.ID).ToList();
                        foreach (Tasks_f ta in tachesAsupprimer)
                        {
                            db.Tasks_f.Remove(ta);
                        }
                        db.Stories_f.Remove(storyASupprimer);
                        db.Stories_Facturation.Remove(myStoriesFacturation);
                    }
                    facturationASupprimer.Date = DateTime.Now;
                    db.SaveChanges();
                    foreach (Projet p in this.projets)
                    {
                        if (!this.verifyProjectExist(p))
                        {
                            p.save();
                        }
                        foreach (MasterStories s in p.Stories)
                        {
                            Stories_f           stories_f           = new Stories_f(s);
                            Stories_Facturation stories_Facturation = new Stories_Facturation();
                            Projet proj = db.Projet.Where(pro => pro.Nom.Trim().ToLower() == p.Nom.Trim().ToLower()).FirstOrDefault();
                            stories_f.Fk_Project = proj.Id;
                            stories_f.IsPayed    = true;
                            stories_f.Epic       = this.epic;
                            stories_Facturation.FK_Facturation = fichier.ID;
                            stories_f.save();
                            stories_Facturation.FK_Stories_f = stories_f.ID;
                            stories_Facturation.CreationDate = DateTime.Now;
                            db.Stories_Facturation.Add(stories_Facturation);
                            db.SaveChanges();
                            foreach (MasterTasks ts in s.Tasks)
                            {
                                Tasks_f  tasks_f   = new Tasks_f(ts);
                                string[] initiales = tasks_f.Initials.Split('+');
                                foreach (string init in initiales)
                                {
                                    Ressource myressource = db.Ressource.Where(rez => rez.Initial == init).FirstOrDefault();
                                    tasks_f.Fk_Ressource_Initials += myressource.ID + ";";
                                }
                                tasks_f.FK_Stories_f = stories_f.ID;
                                tasks_f.save();
                            }
                        }
                    }
                }
                break;
            }
        }
Example #9
0
 public RessourceController()
 {
     this.db = new DevisFacturationEntities();
 }
Example #10
0
 public ParametresController()
 {
     this.db = new DevisFacturationEntities(); // interface d'appel de la bd
 }
Example #11
0
 public ProcessCalcul()
 {
     this.db = new DevisFacturationEntities();
 }