private async void Add_Clicked(object sender, EventArgs e)
        {
            if (frais_type.SelectedItem == null)
            {
                await DisplayAlert("Opps", "Select Type Frais", "Ok");
            }
            else if (amount.Text == null || amount.Text.ToString().Trim().Equals(""))
            {
                await DisplayAlert("Opps", "Enter Montant", "Ok");
            }
            else if (quote.SelectedItem == null)
            {
                await DisplayAlert("Opps", "Select Quote", "Ok");
            }
            else
            {
                String ft  = (frais_type.SelectedItem as TypeFrais).typefrais;
                String amt = amount.Text.ToString();
                String qt  = quote.SelectedItem.ToString();
                Frais  f   = new Frais();
                f.typefrais    = ft;
                f.montantfrais = double.Parse(amt);
                f.chauffeurid  = planID;
                f.devise       = qt;

                await App.Database.SaveFrais(f);

                updateList();
            }
        }
 public ActionResult MettreAJourFrais(int?id)
 {
     if (id.HasValue)
     {
         Frais frais = fraisService.ObtenirUnFrais(id.Value);
         return(View(frais));
     }
     return(HttpNotFound());
 }
 public ActionResult MettreAJourFraisPost(Frais frais)
 {
     if (ModelState.IsValid)
     {
         fraisService.MettreAJourFrais(frais.Id);
         return(RedirectToAction("LesChiffres"));
     }
     return(View(frais));
 }
 public ActionResult AjouterFraisPost(Frais frais)
 {
     if (ModelState.IsValid)
     {
         fraisService.AjouterFrais(frais.IntitulePoste, frais.Montant);
         return(RedirectToAction("LesChiffres"));
     }
     return(View(frais));
 }
Esempio n. 5
0
 public string UpdateFrais([FromBody] Frais frais)
 {
     if (CheckToken())
     {
         return(dataBaseManagerFrais.UpdateFrais(frais));
     }
     else
     {
         return(null);
     }
 }
        public int MettreAJourFrais(int id)
        {
            Frais   frais = ObtenirUnFrais(id);
            Command cmd   = new Command("UPDATE [Frais] SET IntitulePoste=@IntitulePoste, Montant=@Montant WHERE Id=@Id;");

            cmd.AddParameter("@Id", frais.Id);
            cmd.AddParameter("@IntitulePoste", frais.IntitulePoste);
            cmd.AddParameter("@Montant", frais.Montant);
            int nbLignesCorrigees = connex.ExecuteNonQuery(cmd);

            return(nbLignesCorrigees);
        }
Esempio n. 7
0
 public string AddFrais([FromBody] Frais frais)
 {
     if (CheckToken())
     {
         DataBaseManagerNoteFrais dataBaseManagerNoteFrais = new DataBaseManagerNoteFrais();
         frais.note_frais_id = dataBaseManagerNoteFrais.SearchOrCreateNoteFrais(frais.employe_id, new DateTime(frais.date.Year, frais.date.Month, 1));
         return(dataBaseManagerFrais.AddFrais(frais));
     }
     else
     {
         return(null);
     }
 }
        public Frais ObtenirUnFrais(int id)
        {
            Command cmd   = new Command("SELECT * FROM [Frais] WHERE Id=@Id;");
            Frais   frais = new Frais();

            cmd.AddParameter("@Id", id);
            DataSet ds = connex.GetDataSet(cmd);

            if (ds.Tables[0].Rows.Count > 0)
            {
                frais.Id            = (int)ds.Tables[0].Rows[0]["Id"];
                frais.IntitulePoste = (string)ds.Tables[0].Rows[0]["IntitulePoste"];
                frais.Montant       = (float)ds.Tables[0].Rows[0]["Montant"];
            }
            return(frais);
        }
        /// <summary>
        /// Save Frais
        /// </summary>
        /// <param name="f"></param>
        /// <returns></returns>
        public async Task SaveFrais(Frais f)
        {
            try
            {
                Frais lastItem = await database.Table <Frais>().OrderByDescending(u => u.idfrais).FirstOrDefaultAsync();

                if (lastItem != null)
                {
                    f.idfrais = lastItem.idfrais + 1;
                }
                else
                {
                    f.idfrais = 1;
                }

                await database.InsertOrReplaceAsync(f);
            }catch (Exception e)
            {
                var z = 0;
            }
        }
Esempio n. 10
0
        private void Button_ValidFrais(object sender, RoutedEventArgs e)
        {
            using (var db = new GestionContext())
            {
                var user = db.Utilisateurs.Where(b => b.UserId == ((Utilisateurs)ListeBoxUser.SelectedItem).UserId).First();

                Frais frais = new Frais();
                frais.DateFrais = (DateTime)this.DateFrais.SelectedDate;
                decimal reportSuivant  = 0;
                decimal fraisJour      = Convert.ToDecimal(this.lblReport.Content);
                decimal fraisTransport = Convert.ToDecimal(this.TxtBoxTransport.Text);
                decimal fraisKm        = Convert.ToDecimal(this.TxtBoxKm.Text) * 0.33m;
                decimal fraisParking   = Convert.ToDecimal(this.TxtBoxParking.Text);
                decimal fraisPhone     = Convert.ToDecimal(this.TxtBoxPhone.Text);
                decimal fraisRepas     = Convert.ToDecimal(this.TxtBoxRepas.Text);
                decimal fraisLogement  = Convert.ToDecimal(this.TxtBoxLogement.Text);
                decimal fraisDivers    = Convert.ToDecimal(this.TxtBoxDivers.Text);

                if (fraisTransport > 27)
                {
                    reportSuivant  = Math.Abs(27 - fraisTransport);
                    fraisTransport = 27;
                }

                frais.TotFrais = fraisTransport + fraisKm + fraisJour + fraisParking + fraisPhone + fraisRepas + fraisLogement + fraisDivers;

                user.Frais.Add(frais);
                db.SaveChanges();

                if (reportSuivant != 0)
                {
                    Frais fraisReport = new Frais();
                    fraisReport.DateFrais   = ((DateTime)this.DateFrais.SelectedDate).AddDays(1);
                    fraisReport.ReportFrais = reportSuivant;
                    user.Frais.Add(fraisReport);
                    db.SaveChanges();
                }
            }
        }
 public void LookFrais(UIElement uIElement, Frais FraisToLook)
 {
     ((ListeFraisControl)uIElement).Look(FraisToLook);
 }
        /// <summary>
        /// Duplique le frais passé en paramètre
        /// </summary>
        /// <param name="commande1">frais à dupliquer</param>
        private Frais duplicateFrais(Frais itemToCopy)
        {
            Frais tmp = new Frais();

            foreach (Avance item in itemToCopy.Avance)
            {
                tmp.Avance.Add(item);
            }
            tmp.Date_Debut = itemToCopy.Date_Debut;
            tmp.Date_Fin = itemToCopy.Date_Fin;
            tmp.Lot = itemToCopy.Lot;

            foreach (Fiche_Frais itemff in itemToCopy.Fiche_Frais)
            {
                tmp.Fiche_Frais.Add(itemff);

            }

            foreach (Frais_Km itemfk in itemToCopy.Frais_Km)
            {
                tmp.Frais_Km.Add(itemfk);
            }

            tmp.Total_A_Rembourser = itemToCopy.Total_A_Rembourser;
            tmp.Total_Avance = itemToCopy.Total_Avance;
            tmp.Total_HT = itemToCopy.Total_HT;
            tmp.Total_TTC = itemToCopy.Total_TTC;
            tmp.Total_TVA = itemToCopy.Total_TVA;

            return tmp;
        }
        /// <summary>
        /// Met à jour l'état en bas pour l'utilisateur
        /// </summary>
        /// <param name="typeEtat">texte : "Filtrage", "Ajout", "Modification", "Suppression", "Look", "" ("" = Chargement)</param>
        /// <param name="dao">un objet Frais soit pour l'ajouter au listing, soit pour afficher qui a été modifié ou supprimé</param>
        public void MiseAJourEtat(string typeEtat, Frais f)
        {
            //Je recalcul le nombre max d'élements
            this.recalculMax();
            //En fonction de l'action, j'affiche le message
            if (typeEtat == "Filtrage")
            {
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Filtrage des frais terminé : " + this.Frais.Count() + " / " + this.max;
            }
            else if (typeEtat == "Ajout")
            {
                //J'ajoute le frais dans le listing
                this.Frais.Add(f);
                //Je recalcul le nombre max d'élements après l'ajout
                this.recalculMax();
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Ajout d'un frais effectué avec succès. Nombre d'élements : " + this.Frais.Count() + " / " + this.max;
                try
                {
                    this._DataGridMain.SelectedItem = f;
                }
                catch (Exception) { }
            }
            else if (typeEtat == "Modification")
            {
                //Je raffraichis mon datagrid
                this._DataGridMain.Items.Refresh();
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Modification du frais effectué avec succès. Nombre d'élements : " + this.Frais.Count() + " / " + this.max;
            }
            else if (typeEtat == "Suppression")
            {
                //Je supprime de mon listing l'élément supprimé
                this.Frais.Remove(f);
                //Je recalcul le nombre max d'élements après la suppression
                this.recalculMax();
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Suppression du frais avec succès. Nombre d'élements : " + this.Frais.Count() + " / " + this.max;
            }
            else if (typeEtat == "Look")
            {

            }
            else if (typeEtat == "Duplicate")
            {
                //J'ajoute le frais dans le linsting
                this.Frais.Add(f);
                //Je recalcul le nombre max d'élements après l'ajout
                this.recalculMax();
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Dupliquer un frais effectué avec succès. Nombre d'élements : " + this.Frais.Count() + " / " + this.max;
                try
                {
                    this._DataGridMain.SelectedItem = f;
                }
                catch (Exception) { }
            }
            else
            {
                ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Chargement des frais terminé : " + this.Frais.Count() + " / " + this.max;
            }
            //Je retri les données dans le sens par défaut
            this.triDatas();
            this._DataGridMain.Items.Refresh();
            //J'arrete la progressbar
            ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
        }
        /// <summary>
        /// Ouvre le Frais séléctionné en lecture seule à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Frais Look(Frais frais)
        {
            if (this._DataGridMain.SelectedItem != null || frais != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1 || frais != null)
                {
                    //Affichage du message "affichage en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true;
                    ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Affichage d'un frais en cours ...";

                    //Création de la fenêtre
                    FraisWindow fraisWindow = new FraisWindow();

                    //Initialisation du Datacontext en Frais
                    fraisWindow.DataContext = new Frais();
                    if (frais != null)
                    {
                        fraisWindow.DataContext = frais;
                    }
                    else
                    {
                        fraisWindow.DataContext = (Frais)this._DataGridMain.SelectedItem ;
                    }

                    //Je positionne la lecture seule sur la fenêtre
                    fraisWindow.lectureSeule();

                    //J'affiche la fenêtre
                    bool? dialogResult = fraisWindow.ShowDialog();

                    //Affichage du message "affichage en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
                    ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Affichage d'un frais terminé : " + this.Frais.Count() + " / " + this.max;

                    //Renvoi null
                    return null;
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'un seul frais.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner un frais.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
        /// <summary>
        /// duplique (a voir quoi dupliqué) à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Frais Duplicate()
        {
            if (this._DataGridMain.SelectedItem != null)
            {
                if (this._DataGridMain.SelectedItems.Count == 1)
                {
                    //Affichage du message "ajout en cours"
                    ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = true;
                    ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Dupliquer un frais en cours ...";

                    //Création de la fenêtre
                    FraisWindow fraisWindow = new FraisWindow();

                    //Duplication du frais sélectionnée
                    Frais tmp = new Frais();
                    tmp = duplicateFrais((Frais)this._DataGridMain.SelectedItem);

                    //Association de l'élement dupliqué au datacontext de la fenêtre
                    fraisWindow.DataContext = tmp;

                    //booléen nullable vrai ou faux ou null
                    bool? dialogResult = fraisWindow.ShowDialog();

                    if (dialogResult.HasValue && dialogResult.Value == true)
                    {
                        return (Frais)fraisWindow.DataContext;
                    }
                    else
                    {
                        try
                        {
                            foreach (Fiche_Frais ff in ((Frais)fraisWindow.DataContext).Fiche_Frais.OfType<Fiche_Frais>())
                            {
                                foreach (Ligne_Fiche_Frais lff in ff.Ligne_Fiche_Frais.OfType<Ligne_Fiche_Frais>())
                                {
                                    ((App)App.Current).mySitaffEntities.Detach(((Frais)fraisWindow.DataContext).Fiche_Frais.FirstOrDefault().Ligne_Fiche_Frais.First());
                                }
                                ((App)App.Current).mySitaffEntities.Detach(((Frais)fraisWindow.DataContext).Fiche_Frais.FirstOrDefault());
                            }

                            ((App)App.Current).mySitaffEntities.Detach((Frais)fraisWindow.DataContext);
                        }
                        catch (Exception)
                        {

                        }
                        //Si j'appuie sur le bouton annuler, je préviens que j'annule mon ajout
                        ((App)App.Current)._theMainWindow.progressBarMainWindow.IsIndeterminate = false;
                        this.recalculMax();
                        ((App)App.Current)._theMainWindow.textBlockMainWindow.Text = "Duplication d'un frais annulé : " + this.Frais.Count() + " / " + this.max;

                        return null;
                    }
                }
                else
                {
                    MessageBox.Show("Vous ne devez sélectionner qu'un seul frais.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return null;
                }
            }
            else
            {
                MessageBox.Show("Vous devez sélectionner un frais.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return null;
            }
        }
        //Met un nouveau Frais dans le DataContext
        public void NouveauFrais()
        {
            bool val;
            Frais newfrais = new Frais();

            /*remplissage du nouveau frais*/
            try
            {
                int moisfin = DateTime.DaysInMonth(int.Parse(DateTime.Today.Year.ToString()), int.Parse(DateTime.Today.Month.ToString()));
                //remplissage date
                DateTime d;
                string datefin = moisfin.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Year.ToString();
                val = DateTime.TryParse(datefin, out d);
                newfrais.Date_Debut = datemoiscourant.Date;
                newfrais.Date_Fin = d.Date;

                //remplissage Lot
                string initial = listSalarie.ElementAt(placeSalarieDansList).Personne.Initiales.ToString();
                newfrais.Lot = initial + "-" + DateTime.Today.Month.ToString() + DateTime.Today.Year.ToString();

                newfrais.Salarie1 = this.listSalarie.ElementAt(placeSalarieDansList);
            }
            catch (Exception)
            {
            }

            this.DataContext = newfrais;
            this._dataGridAvancesDemande.Items.Refresh();
            this._dataGridAvancesValide.Items.Refresh();
            this._dataGridFraisGeneraux.Items.Refresh();
            this._dataGridFraisKm.Items.Refresh();
            this._datagridResumeFicheFrais.Items.Refresh();
            this._datagridResumeFraisKm.Items.Refresh();
            RefreshAllTotaux();
        }