Exemplo n.º 1
0
 /// <summary>
 /// Génère les stats de présence d'un repas du personnel sur une semaine
 /// </summary>
 /// <param name="viewModel">le viewModel à modifié</param>
 /// <returns>le viewModel modifié</returns>
 private RepasViewModel CompteurRepas(RepasViewModel viewModel)
 {
     viewModel.NbRepasLundiMidi    = viewModel.Listing.Count(x => x.IsLundiMidi);
     viewModel.NbRepasLundiSoir    = viewModel.Listing.Count(x => x.IsLundiSoir);
     viewModel.NbRepasMardiMidi    = viewModel.Listing.Count(x => x.IsMardiMidi);
     viewModel.NbRepasMardiSoir    = viewModel.Listing.Count(x => x.IsMardiSoir);
     viewModel.NbRepasMercrediMidi = viewModel.Listing.Count(x => x.IsMercrediMidi);
     viewModel.NbRepasMercrediSoir = viewModel.Listing.Count(x => x.IsMercrediSoir);
     viewModel.NbRepasJeudiMidi    = viewModel.Listing.Count(x => x.IsJeudiMidi);
     viewModel.NbRepasJeudiSoir    = viewModel.Listing.Count(x => x.IsJeudiSoir);
     viewModel.NbRepasVendrediMidi = viewModel.Listing.Count(x => x.IsVendrediMidi);
     return(viewModel);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Génère un viewModel par défaut pour les repas
        /// </summary>
        /// <param name="dateDebut">la date de début de semaine à afficher</param>
        /// <returns>le viewModel pret</returns>
        private RepasViewModel GenerateViewModelDefaut(DateTime dateDebut)
        {
            var lundi    = new DateTime(dateDebut.AddDays(DayOfWeek.Monday - dateDebut.DayOfWeek).Year, dateDebut.AddDays(DayOfWeek.Monday - dateDebut.DayOfWeek).Month, dateDebut.AddDays(DayOfWeek.Monday - dateDebut.DayOfWeek).Day);
            var vendredi = lundi.AddDays(4);

            var listePcp = Db.Permissions.Where(x => x.Date >= lundi && x.Date <= vendredi && x.TypePerm == TypePermEnum.PCP).Select(x => x.Date).ToList();
            var listeRtt = Db.Permissions.Where(x => x.Date >= lundi && x.Date <= vendredi && x.TypePerm == TypePermEnum.RTT).Select(x => x.Date).ToList();

            var IsLundiMidiA = DateUtils.IsFerie(lundi);
            var IsLundiMidiB = listeRtt.Contains(lundi);
            var IsLundiMidiC = listePcp.Contains(lundi);

            var IsMardiMidiA = DateUtils.IsFerie(lundi.AddDays(1));
            var IsMardiMidiB = listeRtt.Contains(lundi.AddDays(1));
            var IsMardiMidiC = listePcp.Contains(lundi.AddDays(1));

            var viewModel = new RepasViewModel
            {
                //les dates
                IsDisable        = lundi <= DateUtils.GetAujourdhui(),
                DateDeb          = lundi,
                MoisAnneeDateDeb = " " + DateUtils.GetNomMois(lundi) + " " + lundi.Year,

                DateFin          = vendredi,
                MoisAnneeDateFin = " " + DateUtils.GetNomMois(vendredi) + " " + vendredi.Year,

                //la présence par défaut (en prenant en compte les jours fériés)
                IsLundiMidi = (DateUtils.IsFerie(lundi) || (listeRtt.Contains(lundi) && listePcp.Contains(lundi)))?false:true,
                IsLundiSoir = false,

                IsMardiMidi = (DateUtils.IsFerie(lundi.AddDays(1)) || (listeRtt.Contains(lundi.AddDays(1)) && listePcp.Contains(lundi.AddDays(1)))) ? false : true,
                IsMardiSoir = false,

                IsMercrediMidi = (DateUtils.IsFerie(lundi.AddDays(2)) || (listeRtt.Contains(lundi.AddDays(2)) && listePcp.Contains(lundi.AddDays(2)))) ? false : true,
                IsMercrediSoir = false,

                IsJeudiMidi = (DateUtils.IsFerie(lundi.AddDays(3)) || (listeRtt.Contains(lundi.AddDays(3)) && listePcp.Contains(lundi.AddDays(3)))) ? false : true,
                IsJeudiSoir = false,

                IsVendrediMidi = false
            };

            return(viewModel);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Récupère les particularité d'une semaine de repas pour un utilisateur
        /// </summary>
        /// <param name="viewModel">le viewModel à modifier</param>
        /// <returns>le viewModel modifié</returns>
        private RepasViewModel RecupDonneesSemainePerso(RepasViewModel viewModel)
        {
            //charge les exceptions
            var idUser         = GetIdUtilisateurConnecte();
            var listeException =
                Db.DateExceptionRepas.Where(
                    x => x.UtilisateurId == idUser && x.Date <= viewModel.DateFin && x.Date >= viewModel.DateDeb)
                .ToList();

            //les applique au planning
            foreach (var exception in listeException)
            {
                switch (exception.Date.DayOfWeek)
                {
                case DayOfWeek.Monday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsLundiMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsLundiSoir = exception.IsPresent;
                    }
                    break;

                case DayOfWeek.Tuesday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsMardiMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsMardiSoir = exception.IsPresent;
                    }
                    break;

                case DayOfWeek.Wednesday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsMercrediMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsMercrediSoir = exception.IsPresent;
                    }
                    break;

                case DayOfWeek.Thursday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsJeudiMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsJeudiSoir = exception.IsPresent;
                    }
                    break;


                case DayOfWeek.Friday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsVendrediMidi = exception.IsPresent;
                    }
                    break;
                }
            }

            return(viewModel);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Génère les exception d'un viewModel
        /// </summary>
        /// <param name="viewModel">le viewModel à modifié</param>
        /// <param name="listeException">les exccetions à inclure</param>
        /// <returns>le viewMoel modifié</returns>
        private RepasViewModel GenerateRepasSemaine(RepasViewModel viewModel, ICollection <DateExceptionRepas> listeException)
        {
            foreach (var exception in listeException)
            {
                switch (exception.Date.DayOfWeek)
                {
                case DayOfWeek.Monday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsLundiMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsLundiSoir = exception.IsPresent;
                    }
                    break;

                case DayOfWeek.Tuesday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsMardiMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsMardiSoir = exception.IsPresent;
                    }
                    break;

                case DayOfWeek.Wednesday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsMercrediMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsMercrediSoir = exception.IsPresent;
                    }
                    break;

                case DayOfWeek.Thursday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsJeudiMidi = exception.IsPresent;
                    }

                    if (exception.PeriodeRepas == PeriodeRepasEnum.SOIR)
                    {
                        viewModel.IsJeudiSoir = exception.IsPresent;
                    }
                    break;


                case DayOfWeek.Friday:
                    if (exception.PeriodeRepas == PeriodeRepasEnum.MIDI)
                    {
                        viewModel.IsVendrediMidi = exception.IsPresent;
                    }
                    break;
                }
            }

            return(viewModel);
        }