Example #1
0
        public IActionResult Import(string filename)
        {
            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId);

            if (repository.ErrorCode == "TOKENEXPIRED")
            {
                return(RedirectToRoute(Tools.forceAuthentication));
            }
            if (repository.ErrorMessage != "")
            {
                return(View("Error", new Error(repository.ErrorMessage)));
            }

            //Chargement des paramètres (liste journaux, exercices, conditions réglement) et contenu fichier depuis stockage effectué par l'étape Controle
            var existing = ApplicationSettings.ImportExistingValues;
            var errors   = ApplicationSettings.ImportErrors;
            var pieces   = ApplicationSettings.ImportPieces;

            // [API13] Import d'écritures - Traitement: import des écritures valides.
            AddPieces(repository, pieces, errors, existing);
            if (ApplicationSettings.ApiError != null)
            {
                return(View("Error", ApplicationSettings.ApiError));
            }

            ViewBag.errors   = errors;
            ViewBag.pieces   = pieces;
            ViewBag.nextStep = 5;
            ViewBag.filename = ApplicationSettings.ImportFileName;
            return(View("Index"));
        }
        public IActionResult Add()
        {
            ViewBag.Action = "add";

            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId);

            if (repository.ErrorCode == "TOKENEXPIRED")
            {
                return(RedirectToRoute(Tools.forceAuthentication));
            }
            if (repository.ErrorMessage != "")
            {
                return(View("Error", new Error(repository.ErrorMessage)));
            }

            // [API06] Récupération des paramètres
            LoadParameters(repository);

            Customer customer = new Customer
            {
                Adresse = new Address(),
                Telecom = new Telecom()
            };

            return(View(customer));
        }
        public async Task <ActionResult> ChangeReferalid(string memberid, string reqtype, string userid, string passwd)
        {
            getnameByreferalid        obj = new getnameByreferalid();
            ResponseGetNameReferialid res = new ResponseGetNameReferialid();
            General clsgen = new General();

            this._APIManager = new APIRepository();
            obj.memberid     = memberid;
            obj.reqtype      = "getmemname";
            obj.userid       = "";
            obj.passwd       = "";
            string         jsonResponse = string.Empty;
            string         output1      = JsonConvert.SerializeObject(obj);
            HttpWebRequest reponse;

            reponse      = clsgen.JSON(output1, "https://cpanel.gohappynetwork.com/DTProcess.aspx");
            jsonResponse = clsgen.GetResponse(reponse);
            res          = JsonConvert.DeserializeObject <ResponseGetNameReferialid>(jsonResponse);

            ApiPinCoderesponse Code = new ApiPinCoderesponse();

            {
                Code.request  = output1;
                Code.response = jsonResponse;
                Code.url      = "https://cpanel.gohappynetwork.com/DTProcess.aspx";
            }
            return(Json(jsonResponse));
        }
        public IActionResult Edit(string id)
        {
            ViewBag.Action = "edit";

            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId);

            if (repository.ErrorCode == "TOKENEXPIRED")
            {
                return(RedirectToRoute(Tools.forceAuthentication));
            }
            if (repository.ErrorMessage != "")
            {
                return(View("Error", new Error(repository.ErrorMessage)));
            }

            // [API06] Récupération des paramètres
            LoadParameters(repository);

            Customer customer = GetCustomerById(id, repository);

            if (Customer.IsNull(customer) || Customer.IsEmpty(customer))
            {
                return(View("Error", new Error(Resource.CLIENT_NOTFOUND)));
            }

            return(View(customer));
        }
        /// <summary>
        /// Controle si le numero de Tiers saisi existe et si oui retourne un message d'erreur
        /// </summary>
        /// <param name="numero"> Le compte tiers à tester </param>
        /// <param name="repository">Le repository </param>
        /// <returns>Un string avec le message formaté si le tiers existe déjà ou une chaine vide si inexistant</returns>
        private string ControlTiersAlreadyExist(string numero, APIRepository repository)
        {
            Dictionary <string, string> options = new Dictionary <string, string>();

            options.Add("$filter", "numero eq '" + numero.ToUpper() + "'");
            options.Add("$select", "numero,intitule,adresse,type");

            var result = repository.Get(repository.CompanyId, "tiers", options);

            if (!Tools.IsSuccess(result))
            {
                return("ERROR:" + Tools.FormateErrorApi(result));
            }

            var values = result.GetJSONResult()["value"];

            if (!values.HasValues)
            {
                return("");
            }
            return(Resource.CLIENT_ALREADY_EXIST.
                   Replace("{numero}", "<b>" + values[0]["numero"].ToString() + "</b>").
                   Replace("{intitule}", "<b>" + values[0]["intitule"].ToString() + "</b>").
                   Replace("{type}", "<b>" + values[0]["type"].ToString() + "</b>"));
        }
Example #6
0
        /// <summary>
        /// Ophalen van de lijst van campussen.
        /// </summary>
        private async Task GetCampusList()
        {
            //List<Campus> list = new List<Campus>
            //{
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    },
            //    new Campus()
            //    {
            //        Address = "Graaf Karel de Goedelaan 5 8580 Kortrijk",
            //        UCODE = "Campus GKG",
            //        Picture = "Campus_GKG.jpg"
            //    }
            //};

            //CampusList = new ObservableCollection<Campus>(list);

            List <Campus> campusList = await APIRepository.GetCampusList();

            CampusList = new ObservableCollection <Campus>(campusList);
        }
        /// <summary>
        /// Retourne un message d'erreur si le compte général de l'écriture courante est invalide.
        /// </summary>
        /// <param name="repositor
        /// y"> Le repository permettant les appels API. </param>
        /// <param name="companyId"> La société concernée par les appels API. </param>
        /// <returns> Un message d'erreur si le compte général de l'écriture comptable courante est invalide. </returns>
        public void ControlGeneralAccount(APIRepository repository, Dictionary <string, string> existingCompte, Dictionary <string, string> existingInconnuCompte, List <string> errors)
        {
            if (existingCompte.ContainsKey(this.Compte))
            {
                return;
            }
            if (existingInconnuCompte.ContainsKey(this.Compte))
            {
                errors.Add("Le numéro de compte '" + this.Compte + "' est inconnu.");
                return;
            }

            Dictionary <string, string> options = new Dictionary <string, string>();

            options.Add("$top", "1");
            options.Add("$filter", "numero eq '" + this.Compte + "'");
            var resultat = repository.Get(repository.CompanyId, "comptes", options).GetJSONResult()["value"];

            if (!resultat.HasValues)
            {
                errors.Add("Le numéro de compte '" + this.Compte + "' est inconnu.");
                existingInconnuCompte.Add(this.Compte, "");
            }
            else
            {
                existingCompte.Add(this.Compte, resultat[0]["id"].ToString());
            }
        }
        public ContentResult AjaxCalculSolde()
        {
            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId, true);

            if (repository.ErrorMessage != "")
            {
                return(Content("ERROR:AjaxCalculSolde : " + repository.ErrorMessage));
            }

            string retour = "";
            HttpResponseMessage result;

            // Récupération du solde pour chaque client dont le numéro est mentionné dans numeros
            try
            {
                foreach (string id in HttpContext.Request.Form.Keys)
                {
                    result = repository.Get(repository.CompanyId, "clients", null, id, "solde()");
                    if (!Tools.IsSuccess(result))
                    {
                        return(Content("ERROR:AjaxCalculSolde : " + Tools.FormateErrorApi(result)));
                    }
                    var solde = Convert.ToDecimal(result.GetJSONResult()["value"].ToString()).ToString("C2", new CultureInfo("fr-FR"));
                    retour += ((retour != "") ? "|" : "") + id + "~" + solde;
                }
            }
            catch (Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException)
            {
                retour = "ERROR:AjaxCalculSolde : 'Unexpected end of request content";
            }

            return(Content(retour));
        }
Example #9
0
        public IActionResult Index()
        {
            var repo  = new APIRepository();
            var shoes = repo.GetShoes();

            return(View(shoes));
        }
Example #10
0
        /// <summary>
        /// Modifie les propriétés du modèle de sorte à ce que le OData Binding soit effectué.
        /// </summary>
        /// <param name="repository"></param>
        /// <param name="line"> L'écriture comptable à exploiter. </param>
        /// <param name="existing"> L'objet Import contenant codes journaux, modes de réglement [...] connus. </param>
        private void SetOdataBindings(APIRepository repository, Writing line, Import existing)
        {
            // Bind code "journal"
            var journalId = existing.Codes[line.Code].Id;

            line.CodeBind = Tools.OdataBind(repository, "journaux", journalId);

            // Bind "compte général"
            if (!string.IsNullOrEmpty(line.Compte))
            {
                var accountId = existing.Comptes[line.Compte];
                line.CompteBind = Tools.OdataBind(repository, "comptes", accountId);
            }

            // Bind id "tiers": Recherche du numero.
            if (!string.IsNullOrEmpty(line.NumeroTiers))
            {
                var tiersId = existing.Comptes[line.NumeroTiers];
                line.NumeroTiersBind = Tools.OdataBind(repository, "tiers", tiersId);
            }

            // Bind id de "modeReglement" si il existe.
            if (!string.IsNullOrEmpty(line.ModeReglement))
            {
                var modeReglementId = existing.IntitulesModesReglement[line.ModeReglement];
                line.ModeReglementBind = Tools.OdataBind(repository, "modesReglement", modeReglementId);
            }
        }
        /// <summary>
        /// Retourne un message d'erreur si le numéro de tiers de l'écriture courante est invalide.
        /// </summary>
        /// <param name="repository"> Le repository permettant les appels API. </param>
        /// <param name="companyId"> La société concernée par les appels API. </param>
        /// <returns> Une chaîne indiquant l'erreur si le numéro de tiers est invalide. </returns>
        public void ControlNoTiers(APIRepository repository, Dictionary <string, string> existingCompte, Dictionary <string, string> existingInconnuCompte, List <string> errors)
        {
            if (string.IsNullOrEmpty(this.NumeroTiers) || existingCompte.ContainsKey(this.NumeroTiers))
            {
                return;
            }
            if (existingInconnuCompte.ContainsKey(this.NumeroTiers))
            {
                errors.Add("Le numéro de tiers '" + this.NumeroTiers + "' est inconnu.");
                return;
            }

            Dictionary <string, string> options = new Dictionary <string, string>();

            options.Add("$top", "1");
            options.Add("$filter", "numero eq '" + this.NumeroTiers + "'");
            var resultat = repository.Get(repository.CompanyId, "tiers", options).GetJSONResult()["value"];

            if (!resultat.HasValues)
            {
                errors.Add("Le numéro de tiers '" + this.NumeroTiers + "' est inconnu.");
                existingInconnuCompte.Add(this.NumeroTiers, "");
            }
            else
            {
                existingCompte.Add(this.NumeroTiers, resultat[0]["id"].ToString());
            }
        }
        public async Task <ActionResult> GetCityListByState(string Id)
        {
            var cityList = new List <R_CityMaster>();

            this._APIManager = new APIRepository();
            this.model       = new Dashboard();
            if (string.IsNullOrEmpty(Id))
            {
                return(null);
            }
            else
            {
                cityList = await this._APIManager.GetCityListById(Id);
            }

            if (cityList == null || cityList.Count == 0)
            {
                cityList = new List <R_CityMaster>();
                if (this.model.Cities == null)
                {
                    this.model.Cities = new List <R_CityMaster>();
                    this.model.Cities.Add(new R_CityMaster
                    {
                        cityID   = 0,
                        cityName = "-Not Available-"
                    });
                }
            }
            return(Json(cityList));
        }
        public async Task <ActionResult> Register()
        {
            this.model       = new Dashboard();
            this._APIManager = new APIRepository();
            await this.AssignStateCityList();

            return(View(this.model));
        }
Example #14
0
        public IActionResult Search(Summoner player)
        {
            player = APIRepository.GetSummonerID(player.SummonerName);
            APIRepository.GetPlayerStats(player);
            APIRepository.GetMostPlayed(player);

            return(View(player));
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            var repository = new APIRepository();

            services.AddSingleton <IRepository>(repository);
        }
        public IActionResult Edit(Customer customer, Address address, Telecom telecom, string id)
        {
            ViewBag.Action = "edit";

            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId);

            if (repository.ErrorCode == "TOKENEXPIRED")
            {
                return(RedirectToRoute(Tools.forceAuthentication));
            }
            if (repository.ErrorMessage != "")
            {
                return(View("Error", new Error(repository.ErrorMessage)));
            }

            customer.Adresse = address;
            customer.Telecom = telecom;
            customer.Numero  = customer.Numero.ToUpper();

            // [API06] Récupération des paramètres
            LoadParameters(repository);

            if (Customer.IsEmpty(customer))
            {
                ViewBag.ErrorMessage = Resource.CLIENT_MANDATORY_FIELDS;
                return(View(customer));
            }

            // [API10] Edition des données du client - Envoi des données.
            customer.ComptePrincipal = Tools.OdataBind(repository, "comptes", customer.ComptePrincipal);

            // Conversion en données exploitables.
            var data = JsonConvert.SerializeObject(customer, new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });

            var result = repository.Patch(repository.CompanyId, "clients", data, id);

            // Si la mise à jour échoue, on affiche une erreur.
            if (!result.IsSuccessStatusCode)
            {
                ViewBag.ErrorMessage = Tools.FormateErrorApi(result);
                return(View(customer));
            }
            else
            {
                // Redirection.
                return(RedirectToRoute(new
                {
                    controller = "Customers",
                    action = "Get",
                    id = customer.Id,
                    refresh = Guid.NewGuid().ToString()
                }));
            }
        }
        public async Task <ActionResult> LoginOrangeFunction(string returnUrl)
        {
            this.model        = new Dashboard();
            ViewBag.ReturnUrl = returnUrl;
            this._APIManager  = new APIRepository();
            await this.AssignStateCityList();

            return(View("LoginOrange", this.model));
        }
        public HttpResponseMessage GetEmployeesData([FromBody] string value)
        {
            HttpResponseMessage resultResponse = null;

            List <EmpDataModel> empData = this.APIServiceRepository.GetEmployeesData();

            resultResponse = APIRepository.CreateDataResponse(Request, HttpStatusCode.OK, empData);

            return(resultResponse);
        }
Example #19
0
        public void TestMethod1()
        {
            IRepository <Post> repo = new LocalRepository <Post>("posts.json");

            Assert.AreEqual(repo.Get().Count(), 100);

            repo = new APIRepository <Post>("https://jsonplaceholder.typicode.com/posts");

            Assert.AreEqual(repo.Get().Count(), 100);
        }
        public async Task <ActionResult> OtherRegister()
        {
            this.model       = new Dashboard();
            this._APIManager = new APIRepository();
            await this.AssignOtherAreaCode("");

            await this.GetRegilionResponse("");

            return(View(this.model));
        }
 /// <summary>
 /// Retourne une liste d'erreurs non vide si l'écriture comptable est invalide.
 /// </summary>
 /// <param name="repository"> Le repository permettant les appels API. </param>
 /// <param name="existing"> L'objet Import composé des codes journaux, modes de réglement existants et les dates de l'exercice non clôturé le plus récent. </param>
 /// <returns> Une liste de chaines comprenant les erreurs si détectés. </returns>
 public void ControlWriting(APIRepository repository, Import existing, List <string> errorLogs)
 {
     ControlCodeJournal(existing.Codes, errorLogs);
     ControlDate(existing.ExerciceStartDate, existing.ExerciceEndDate, errorLogs);
     ControlNoPiece(errorLogs);
     ControlGeneralAccount(repository, existing.Comptes, existing.InconnuComptes, errorLogs);
     ControlNoTiers(repository, existing.Comptes, existing.InconnuComptes, errorLogs);
     ControlIntitule(errorLogs);
     ControlPaymentType(existing.IntitulesModesReglement, errorLogs);
     ControlMontant(errorLogs);
 }
Example #22
0
        //****************************[LECTURE FICHIER IMPORT ET CONTROLE COHERENCE]*******************************************************************
        /// <summary>
        /// Lit le fichier ligne par ligne.
        /// </summary>
        /// <param name="repository"> Le repository. </param>
        /// <param name="pieces"> Le dictionnaire de pièces contenant l'id de la pièce et la liste d'écritures. </param>
        /// <param name="errors"> Le dictionnaire de pièces contenant l'id de la pièce et la liste d'erreurs. </param>
        /// <param name="existing"> Les données préchargées (obligatoires) lors de l'arrivée sur la page d'import. </param>
        /// <param name="file"> Le fichier comptable texte importé. </param>
        private void ReadFile(APIRepository repository, Dictionary <string, List <Writing> > pieces, Dictionary <string, List <string> > errors, Import existing, IFormFile file)
        {
            using var reader = new StreamReader(file.OpenReadStream());

            var lineNumber = 0;
            var linePiece  = 0;
            var line       = string.Empty;

            while (!string.IsNullOrEmpty(line = reader.ReadLine()))
            {
                lineNumber++;

                //Si une ligne n'a pas le bon nombre de colonnes on sort une erreur grave et on continue le parcours pour voir si d'autres lignes dans ce cas
                if (Writing.HasIncorrectNumberOfColumns(line))
                {
                    AddErrorToPiece(lineNumber, "Nombre de colonnes incorrect", errors);
                    continue;
                }

                var writing = Writing.Create(line);

                // Contrôle cohérence et alimentation liste erreur.
                var errorLogs = new List <string>();
                writing.ControlWriting(repository, existing, errorLogs);

                // Ajout de l'écriture dans la pièce avec création préalable d'une nouvelle pièce si JOURNAL|PIECE|DATE n'existe pas dans la liste des pièces.
                if (!pieces.ContainsKey(writing.Id))
                {
                    linePiece = 0;
                    pieces.Add(writing.Id, new List <Writing>());
                }
                pieces[writing.Id].Add(writing);
                linePiece++;

                // Ajout des erreurs éventuelles de l'écriture avec création préalable d'une nouvelle liste d'erreurs pour la pièce si n'existe pas déjà
                if (errorLogs.Count > 0)
                {
                    AddErrorToPiece(writing.Id, linePiece, lineNumber, errorLogs, errors);
                }
            }

            //Maintenant qu'on a dispatché les lignes en pièces, on peut vérifier si chaque pièce est équilibrée
            foreach (var piece in pieces)
            {
                if (!IsBalanced(piece))
                {
                    AddErrorToPiece(piece.Key, "La pièce n'est pas équilibrée.", errors);
                }
            }


            reader.Close();
        }
Example #23
0
 public HttpResponseMessage GetSmartManAllEmployeeDataJson()
 {
     try
     {
         var empList = this.PublicRepository.GetSmartManEmpPartialData();
         return(APIRepository.ListRetrieved(this.Request, empList));
     }
     catch (Exception ex)
     {
         return(APIRepository.ErrorRequest(this.Request, ex.Message));
     }
 }
Example #24
0
 public HttpResponseMessage GetMenuInformationJson()
 {
     try
     {
         var menuList = this.PublicRepository.GetMenuPartialData();
         return(APIRepository.ListRetrieved(this.Request, menuList));
     }
     catch (Exception ex)
     {
         return(APIRepository.ErrorRequest(this.Request, ex.Message));
     }
 }
        public ContentResult CheckClientNumber(string numero)
        {
            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId);

            if (repository.ErrorMessage != "")
            {
                return(Content("ERROR:AjaxCalculSolde : " + repository.ErrorMessage));
            }

            return(Content(ControlTiersAlreadyExist(numero, repository)));
        }
        public async Task <ActionResult> GetRegilionResponse(string RadioValue)
        {
            ReligionReqType req    = new ReligionReqType();
            General         clsgen = new General();

            this._APIManager = new APIRepository();
            RegligionResponse Regilion     = new RegligionResponse();
            string            jsonResponse = string.Empty;

            if (RadioValue == "R")
            {
                req.reqtype = "religion";
            }
            else if (RadioValue == "N")
            {
                req.reqtype = "nonreligion";
            }
            else if (RadioValue == "")
            {
                this.model.religion = new List <Religion>();
                this.model.religion.Add(new Religion
                {
                    id       = "0",
                    religion = "-Not Available-"
                });
            }
            string         output1 = JsonConvert.SerializeObject(req);
            HttpWebRequest reponse;

            reponse      = clsgen.JSON(output1, "https://cpanel.gohappynetwork.com/DTProcess.aspx");
            jsonResponse = clsgen.GetResponse(reponse);
            Regilion     = JsonConvert.DeserializeObject <RegligionResponse>(jsonResponse);
            if (RadioValue == "N")
            {
                Regilion.nonreligions.RemoveAt(0);
            }
            else if (RadioValue == "R")
            {
                Regilion.religions.RemoveAt(0);
            }



            ApiPinCoderesponse Code = new ApiPinCoderesponse();
            {
                Code.request  = output1;
                Code.response = jsonResponse;
                Code.url      = "https://cpanel.gohappynetwork.com/DTProcess.aspx";
            }
            var statusID = await this._APIManager.SaveAPIRequest(Code);

            return(Json(Regilion));
        }
        public ContentResult AjaxCalculSoldeEtDates()
        {
            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId, true);

            if (repository.ErrorMessage != "")
            {
                return(Content("ERROR:AjaxCalculSoldeEtDates : " + repository.ErrorMessage));
            }

            string retour, value;
            HttpResponseMessage result;
            string id = HttpContext.Request.Form["Id"];

            // Récupération du solde et des dates pour le client courant
            try
            {
                result = repository.Get(repository.CompanyId, "clients", null, id, "solde()");
                if (!Tools.IsSuccess(result))
                {
                    return(Content("ERROR:AjaxCalculSoldeEtDates Solde : " + Tools.FormateErrorApi(result)));
                }
                value  = result.GetJSONResult()["value"].ToString();
                retour = Convert.ToDecimal(result.GetJSONResult()["value"].ToString()).ToString("C2", new CultureInfo("fr-FR"));

                result = repository.Get(repository.CompanyId, "clients", null, id, "derniereFacture()");
                if (!Tools.IsSuccess(result))
                {
                    return(Content("ERROR:AjaxCalculSoldeEtDates DateFacture : " + Tools.FormateErrorApi(result)));
                }
                value   = result.GetJSONResult()["value"].ToString();
                retour += "|" + ((Convert.ToDateTime(value) == DateTime.MinValue) ? "": Convert.ToDateTime(value).ToString("d", new CultureInfo("fr-FR")));

                result = repository.Get(repository.CompanyId, "clients", null, id, "dernierReglement()");
                if (!Tools.IsSuccess(result))
                {
                    return(Content("ERROR:AjaxCalculSoldeEtDates DateReglement : " + Tools.FormateErrorApi(result)));
                }
                value   = result.GetJSONResult()["value"].ToString();
                retour += "|" + ((Convert.ToDateTime(value) == DateTime.MinValue) ? "" : Convert.ToDateTime(value).ToString("d", new CultureInfo("fr-FR")));
            }
            catch (Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException)
            {
                retour = "ERROR:AjaxCalculSoldeEtDates : 'Unexpected end of request content";
            }

            return(Content(retour));
        }
        public IActionResult Index(Request model)
        {
            //Contrôle token et company et création d'un repository
            var repository = APIRepository.Create(HttpContext.GetTokenAsync("access_token").Result, ApplicationSettings.CompanyId);

            if (repository.ErrorCode == "TOKENEXPIRED")
            {
                return(RedirectToRoute(Tools.forceAuthentication));
            }
            if (repository.ErrorMessage != "")
            {
                return(View("Error", new Error(repository.ErrorMessage)));
            }

            return(LoadCompaniesAndMetadata(repository, model));
        }
        /// <summary>
        /// Récupération des paramètres (type comptes généraux, pays). Alimente les propriétés de ViewBag.
        /// </summary>
        /// <param name="repository">Repository courant</param>
        public void LoadParameters(APIRepository repository)
        {
            Dictionary <string, string> options = new Dictionary <string, string>();

            //Liste des comptes généraux commençant par 41
            options.Clear();
            options.Add("$select", "id,type,numero");
            options.Add("$filter", "startswith(numero,'41') and sommeil eq false");
            options.Add("$orderby", "numero");
            ViewBag.Accounts = repository.Get(repository.CompanyId, "comptes", options).GetJSONResult()["value"];

            //Liste des pays
            options.Clear();
            options.Add("$select", "intitule");
            options.Add("$orderby", "intitule");
            ViewBag.Pays = repository.Get(repository.CompanyId, "pays", options).GetJSONResult()["value"];
        }
Example #30
0
        //FIELDS

        //CONSTRUCTORS

        //METHODS
        public static IStockPricesRepository GetRepository(string repositoryType)
        {
            IStockPricesRepository repository = null;

            switch (repositoryType)
            {
            case "API": repository = new APIRepository();
                break;

            case "CSV": repository = new CSVRepository();
                break;

            default:
                throw new ArgumentException("Invalid Repository Type Requested");
            }
            return(repository);
        }