public async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req, ILogger log) { string json; dynamic data = await req.Content.ReadAsAsync <object>(); try { json = new EncaissementDAO(sqlManager).SaveEncaissement(new EncaissementDTO() { societe = data?.societe, compte = data?.compte, banque = data?.banque, total_ht = data?.total_ht, total_tva = data?.total_tva, total_ttc = data?.total_ttc, date_reglement = data?.date_reglement, mode_paiement = data?.mode_paiement, transfert_compte = data?.transfert_compte }); } catch (Exception e) { return(new HttpResponseMessage(HttpStatusCode.Conflict) { Content = new StringContent(e.ToString()) }); } return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(json) }); }
public async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); dynamic data = await req.Content.ReadAsAsync <object>(); if (data?.id == null) { return(new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest) { Content = new StringContent("Missing parameter : 'id'") }); } string retour = ""; try { retour = new EncaissementDAO(sqlManager).DeleteEncaissement((string)data?.id); } catch (Exception e) { return(new HttpResponseMessage(System.Net.HttpStatusCode.InternalServerError) { Content = new StringContent(e.Message) }); } return(new HttpResponseMessage(System.Net.HttpStatusCode.OK) { Content = new StringContent(retour) }); }
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")); }
public async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string debut_interval; string fin_interval; req.GetQueryParameterDictionary().TryGetValue("debut_interval", out debut_interval); req.GetQueryParameterDictionary().TryGetValue("fin_interval", out fin_interval); if (string.IsNullOrEmpty(debut_interval)) { return(new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest) { Content = new StringContent("Missing parameter : 'debut_interval'") }); } if (string.IsNullOrEmpty(fin_interval)) { return(new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest) { Content = new StringContent("Missing parameter : 'fin_interval'") }); } string retour = ""; try { retour = new EncaissementDAO(sqlManager).GetEncaissementInterval(DateTime.Parse(debut_interval).ToString(), DateTime.Parse(fin_interval).ToString()); } catch (Exception e) { return(new HttpResponseMessage(System.Net.HttpStatusCode.OK) { Content = new StringContent(e.Message) }); } return(new HttpResponseMessage(System.Net.HttpStatusCode.OK) { Content = new StringContent(retour) }); }
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('.', ','))); }
public async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string retour = ""; try { retour = new EncaissementDAO(sqlManager).GetAllEncaissement(); } catch (Exception e) { return(new HttpResponseMessage(System.Net.HttpStatusCode.OK) { Content = new StringContent(e.Message) }); } return(new HttpResponseMessage(System.Net.HttpStatusCode.OK) { Content = new StringContent(retour) }); }
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); }
public void GetAllAccountPositionAtDate() { var decaissementDAO = new DecaissementDAO(sqlManager); var encaissementDAO = new EncaissementDAO(sqlManager); var compteDAO = new CompteDAO(sqlManager); var classificationDAO = new ClassificationDAO(sqlManager); var resultPosition = GetTotalPosition(compteDAO); //on s'assure qu'au début, la position est à zero Assert.AreEqual(0, resultPosition); string retour = encaissementDAO.SaveEncaissement(new EncaissementDTO() { banque = "BNP", compte = "compte 2 BNP", total_ttc = "12", date_reglement = "02/06/2019" }); resultPosition = GetTotalPosition(compteDAO); Assert.AreEqual(12, resultPosition); //on fait un deuxieme encaissement dans un autre compte retour = encaissementDAO.SaveEncaissement(new EncaissementDTO() { banque = "HSBC", total_ttc = "13", date_reglement = "02/06/2019" }); resultPosition = GetTotalPosition(compteDAO); Assert.AreEqual(25, resultPosition); //on fait un troisieme encaissement, mais en 2020 pour etre sur qu'il n'est pas comptabilisé retour = encaissementDAO.SaveEncaissement(new EncaissementDTO() { banque = "BPOP", total_ttc = "11", date_reglement = "01/01/2020" }); resultPosition = GetTotalPosition(compteDAO); Assert.AreEqual(25, resultPosition); string retour1 = decaissementDAO.SaveDraftDecaissement(new DecaissementDTO() { operation = "test", banque = "BNP", montant_ttc = "9.5", date_operation = "05/06/2019", date_compta = "05/06/2019", date_valeur = "05/06/2019", facture_verifie = "1"//ne devrai pas etre pris en compte }); retour = JsonConvert.DeserializeObject <List <ExpectedReturn> >(retour1)[0].retour; //on s'assure qu'un decaissement non validé n'est pas pris en compte resultPosition = GetTotalPosition(compteDAO); Assert.AreEqual(25, resultPosition); string idSousCLass = ""; var dicoRetour = JsonConvert.DeserializeObject <Dictionary <string, List <SousClassificationDTO> > >( classificationDAO.GetClassification()); foreach (var item in dicoRetour) { idSousCLass = item.Value[0].id; break; } Assert.AreEqual(25, resultPosition); var retour2 = decaissementDAO.ValidateDecaissement(new DecaissementDTO() { id = retour, id_sous_classification = idSousCLass, mois_valeur = "6" }); var resultValidated = JsonConvert.DeserializeObject <List <DecaissementDTO> >(decaissementDAO.GetValidatedDecaissements()); Assert.IsTrue(resultValidated.Count == 1); resultPosition = GetTotalPosition(compteDAO); Assert.AreEqual(15.5, resultPosition); }
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('.', ','))); }