コード例 #1
0
        public string EditEncaissement(EncaissementDTO encaissementDTO)
        {
            var dateReglement = DateTime.Parse(encaissementDTO.date_reglement, new System.Globalization.CultureInfo("fr-FR"));

            if (encaissementDTO.total_ht != null)
            {
                encaissementDTO.total_ht = ((string)encaissementDTO.total_ht).Split(',')[0].Replace(" ", "").Replace("€", "").Trim();
            }
            if (encaissementDTO.total_tva != null)
            {
                encaissementDTO.total_tva = ((string)encaissementDTO.total_tva).Split(',')[0].Replace(" ", "").Replace("€", "").Trim();
            }
            if (encaissementDTO.total_ttc != null)
            {
                encaissementDTO.total_ttc = ((string)encaissementDTO.total_ttc).Split(',')[0].Replace(" ", "").Replace("€", "").Trim();
            }
            Dictionary <string, object> dictionnaire = new Dictionary <string, object>();

            dictionnaire.Add("id", encaissementDTO.id);
            dictionnaire.Add("societe", encaissementDTO.societe);
            dictionnaire.Add("compte", encaissementDTO.compte);
            dictionnaire.Add("banque", encaissementDTO.banque);
            dictionnaire.Add("total_ht", encaissementDTO.total_ht);
            dictionnaire.Add("total_tva", encaissementDTO.total_tva);
            dictionnaire.Add("total_ttc", encaissementDTO.total_ttc);
            dictionnaire.Add("date_reglement", dateReglement.ToString("dd/MM/yyyy"));
            dictionnaire.Add("mode_paiement", encaissementDTO.mode_paiement);
            dictionnaire.Add("transfert_compte", encaissementDTO.transfert_compte);
            return(sqlManager.ExecProcedure("EditEncaissement", dictionnaire));
        }
コード例 #2
0
        public void EditDecaissementTest()
        {
            var             encaissementDAO = new EncaissementDAO(sqlManager);
            EncaissementDTO DTOTmp1         = new EncaissementDTO()
            {
                banque           = "BNP",
                date_reglement   = "25/02/2019",
                mode_paiement    = "AUCUN",
                total_ttc        = "1000",
                compte           = "compte 2 BNP",
                societe          = "TERSIO",
                total_ht         = "800",
                total_tva        = "200",
                transfert_compte = "1"
            };
            EncaissementDTO DTOTmp2 = new EncaissementDTO()
            {
                banque           = "HSBC",
                date_reglement   = "21/03/2017",
                mode_paiement    = "VIR",
                total_ttc        = "5000",
                societe          = "BIS",
                total_ht         = "3000",
                total_tva        = "2000",
                transfert_compte = "0"
            };

            encaissementDAO.SaveEncaissement(DTOTmp1);
            var result = JsonConvert.DeserializeObject <List <ExpectedEncaissement> >(encaissementDAO.GetAllEncaissement());

            DTOTmp2.id = result[0].id;
            DTOTmp1.id = result[0].id;
            encaissementDAO.EditEncaissement(DTOTmp2);
            result = JsonConvert.DeserializeObject <List <ExpectedEncaissement> >(encaissementDAO.GetAllEncaissement());
            var retour  = result[0];
            var DTOTmp3 = new EncaissementDTO()
            {
                id               = retour.id,
                banque           = retour.banque,
                date_reglement   = DateTime.Parse(retour.date_reglement.Split('T')[0].Replace('-', '/'), CultureInfo.CurrentCulture).ToString("dd/MM/yyyy"),
                mode_paiement    = retour.mode_paiement,
                total_ttc        = Double.Parse(retour.total_ttc.Replace('.', ',')).ToString(),
                societe          = retour.societe,
                total_ht         = Double.Parse(retour.total_ht.Replace('.', ',')).ToString(),
                total_tva        = Double.Parse(retour.total_tva.Replace('.', ',')).ToString(),
                transfert_compte = Double.Parse(retour.transfert_compte.Replace('.', ',')).ToString()
            };

            Assert.IsTrue(DTOTmp3.Equals(DTOTmp2));
            DTOTmp2.banque = "BNP";
            DTOTmp2.compte = "compte 2 BNP";
            encaissementDAO.EditEncaissement(DTOTmp2);
            result = JsonConvert.DeserializeObject <List <ExpectedEncaissement> >(encaissementDAO.GetAllEncaissement());
            Assert.IsTrue(result[0].compte.Equals("compte 2 BNP"));
        }
コード例 #3
0
        public void SaveAndGetEncaissementTest()
        {
            var             encaissementDAO = new EncaissementDAO(sqlManager);
            EncaissementDTO DTOTmp          = new EncaissementDTO()
            {
                banque           = "BNP",
                date_reglement   = "25/02/2019",
                total_ttc        = "12",
                compte           = "compte 2 BNP",
                mode_paiement    = "VIR",
                societe          = "BIS",
                total_ht         = "1",
                total_tva        = "1",
                transfert_compte = "0"
            };
            var idRetour = encaissementDAO.SaveEncaissement(DTOTmp);
            var result   = JsonConvert.DeserializeObject <List <ExpectedEncaissement> >(encaissementDAO.GetAllEncaissement());

            Assert.IsTrue(result[0].compte == DTOTmp.compte);
            Assert.IsTrue(Convert.ToDateTime(result[0].date_reglement) == Convert.ToDateTime(DTOTmp.date_reglement));
            Assert.IsTrue(Double.Parse(result[0].total_ttc.Replace('.', ',')) == Double.Parse(DTOTmp.total_ttc.Replace('.', ',')));
        }
コード例 #4
0
        public void DeleteEncaissementTest()
        {
            var             encaissementDAO = new EncaissementDAO(sqlManager);
            EncaissementDTO DTOTmp          = new EncaissementDTO()
            {
                banque           = "BNP",
                date_reglement   = "25/02/2019",
                total_ttc        = "12",
                compte           = "compte 2 BNP",
                mode_paiement    = "VIR",
                societe          = "BIS",
                total_ht         = "1",
                total_tva        = "1",
                transfert_compte = "0"
            };
            string retour = encaissementDAO.SaveEncaissement(DTOTmp);
            var    id     = JsonConvert.DeserializeObject <List <ExpectedReturn> > (retour)[0].id;
            var    result = JsonConvert.DeserializeObject <List <EncaissementDTO> >(encaissementDAO.GetAllEncaissement());

            Assert.IsTrue(result.Count == 1);
            encaissementDAO.DeleteEncaissement(id);
            result = JsonConvert.DeserializeObject <List <EncaissementDTO> >(encaissementDAO.GetAllEncaissement());
            Assert.IsTrue(result.Count == 0);
        }
コード例 #5
0
        public string SaveEncaissement(EncaissementDTO encaissementDTO)
        {
            var dateReglement = DateTime.Parse(encaissementDTO.date_reglement, new System.Globalization.CultureInfo("fr-FR"));

            Dictionary <string, object> dico = new Dictionary <string, object>()
            {
                { "societe", encaissementDTO.societe },
                { "compte", encaissementDTO.compte },
                { "banque", encaissementDTO.banque },
                { "total_ht", encaissementDTO.total_ht },
                { "total_tva", encaissementDTO.total_tva },
                { "total_ttc", encaissementDTO.total_ttc },
                { "date_reglement", dateReglement.ToString("dd/MM/yyyy") },
                { "mode_paiement", encaissementDTO.mode_paiement },
                { "transfert_compte", encaissementDTO.transfert_compte }
            };

            if (dico["total_ht"] != null)
            {
                dico["total_ht"] = ((string)encaissementDTO.total_ht).Split(',')[0].Replace(" ", "").Replace("€", "").Replace("-", "").Trim();
            }
            if (dico["total_tva"] != null)
            {
                dico["total_tva"] = ((string)encaissementDTO.total_tva).Split(',')[0].Replace(" ", "").Replace("€", "").Replace("-", "").Trim();
            }
            if (dico["total_ttc"] != null)
            {
                dico["total_ttc"] = ((string)encaissementDTO.total_ttc).Split(',')[0].Replace(" ", "").Replace("€", "").Replace("-", "").Trim();
            }
            if (dico["transfert_compte"] != null)
            {
                dico["transfert_compte"] = ((string)encaissementDTO.transfert_compte).Split(',')[0].Replace(" ", "").Replace("€", "").Replace("-", "").Trim();
            }

            return(sqlManager.ExecProcedure("SaveEncaissement", dico));
        }
コード例 #6
0
        public void GetPositionPeriode()
        {
            var decaissementDAO = new DecaissementDAO(sqlManager);
            var encaissementDAO = new EncaissementDAO(sqlManager);
            var compteDAO       = new CompteDAO(sqlManager);

            //on s'assure qu'au début, la position est à zero
            string retour         = compteDAO.GetTotalPositionAtInterval(DateTime.Now.ToString("dd/MM/yyyy"), DateTime.Now.ToString("dd/MM/yyyy"), "annee");
            var    resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour);

            Assert.AreEqual(0, double.Parse(resultPosition[0].position.Replace('.', ',')));

            //on enregistre un decaissement non validé
            var decaissement1 = new DecaissementDTO()
            {
                banque         = "BNP",
                date_compta    = "20/02/2019",
                date_valeur    = "20/02/2019",
                date_operation = "20/02/2019",
                mode_paiement  = "CHQ",
                operation      = "unitTestDec1",
                montant_ttc    = "12.2"
            };

            decaissementDAO.SaveDraftDecaissement(decaissement1);
            retour = decaissementDAO.GetDraftDecaissement();
            var resultDecaissement = JsonConvert.DeserializeObject <List <DecaissementDTO> >(
                decaissementDAO.GetDraftDecaissement());

            decaissement1.id = resultDecaissement[0].id;
            var listClassif = JsonConvert.DeserializeObject <Dictionary <string, List <SousClassificationDTO> > >(
                new ClassificationDAO(sqlManager).GetClassification());

            decaissement1.id_sous_classification = listClassif["ADMINISTRATIF"][1].id;
            decaissement1.mois_valeur            = "2";
            //on valide le decaissement
            decaissementDAO.ValidateDecaissement(decaissement1);
            retour         = compteDAO.GetTotalPositionAtInterval("07/06/2019", "07/06/2019", "jours");
            resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour);
            //on s'assure que la postition après le decaissement as bien changé
            Assert.AreEqual(-12.2, double.Parse(resultPosition[0].position.Replace('.', ',')));
            retour         = compteDAO.GetTotalPositionAtInterval("13/01/2019", "13/01/2019", "jours");
            resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour);
            //on s'assure que la position AVANT le decaissement reste inchangé
            Assert.AreEqual(0, double.Parse(resultPosition[0].position.Replace('.', ',')));
            var encaissement = new EncaissementDTO()
            {
                banque         = "HSBC",
                compte         = "compte 1 HSBC",
                mode_paiement  = "CHQ",
                total_ttc      = "20",
                societe        = "UNO",
                date_reglement = "14/05/2019"
            };

            encaissementDAO.SaveEncaissement(encaissement);
            retour         = compteDAO.GetTotalPositionAtInterval("07/06/2019", "07/06/2019", "jours");
            resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour);
            //on s'assure que la position prend en compte les encaissement et decaissement meme sur différentes banque/compte
            Assert.AreEqual(7.8, double.Parse(resultPosition[0].position.Replace('.', ',')));


            encaissement = new EncaissementDTO()
            {
                banque         = "HSBC",
                compte         = "compte 1 HSBC",
                mode_paiement  = "CHQ",
                total_ttc      = "20",
                societe        = "UNO",
                date_reglement = "14/05/2017"
            };
            encaissementDAO.SaveEncaissement(encaissement);
            retour         = compteDAO.GetTotalPositionAtInterval("07/06/2018", "07/06/2018", "jours");
            resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour);
            //on s'assure que la position prend en compte l'encaissement en 2018 et ignore les mouvements ulterieurs
            Assert.AreEqual(20, double.Parse(resultPosition[0].position.Replace('.', ',')));

            retour         = compteDAO.GetTotalPositionAtInterval("07/06/2019", "07/06/2019", "jours");
            resultPosition = JsonConvert.DeserializeObject <List <ExpectedPositionInterval> >(retour);
            //on s'assure que la position prend en compte tout les mouvements, peut importe le compte ou l'année
            Assert.AreEqual(27.8, double.Parse(resultPosition[0].position.Replace('.', ',')));
        }