public void EnregistrerReleveMensuel(ReleveMensuel releveMensuel)
        {
            if (releveMensuel.Id == 0)
            {
                this.context.RelevesMensuels.Add(releveMensuel);
            }
            else
            {
                this.context.Entry(releveMensuel).State = EntityState.Modified;
            }

            foreach (var jour in releveMensuel.Jours)
            {
                if (jour.Id == 0)
                {
                    this.context.RelevesJours.Add(jour);
                }
                else
                {
                    this.context.Entry(jour).State = EntityState.Modified;
                }
            }


            this.context.SaveChanges();
        }
        public void EnregistrerReleveMensuel(ReleveMensuel releveMensuel)
        {
            var ouvrier = this.dataEmploye.GetOuvrier(releveMensuel.IdOuvrier);

            bool check = true;

            while (check)
            {
                foreach (var item in releveMensuel.Jours)
                {
                    if (item.NombreHeures >= 13)
                    {
                        check = false;
                        throw new BusinessException("Vous avez dépassé la limite horraire journalière");
                    }
                }
                break;
            }


            releveMensuel.NombreTotalHeures = releveMensuel.Jours.Sum(x => x.NombreHeures);
            releveMensuel.TauxHoraire       = ouvrier.TauxHoraire;


            this.dataReleve.EnregistrerReleveMensuel(releveMensuel);
        }
Beispiel #3
0
        public void ValiderNombreJoursTravaillés()
        {
            var fauxDataEmploye = new Mock <IDataEmploye>();
            var fauxDataReleve  = new Mock <IDataReleve>();

            fauxDataEmploye.Setup(x => x.GetOuvrier(It.IsAny <int>())).Returns(new Ouvrier());

            var           serviceReleve = new ServiceReleve(fauxDataReleve.Object, fauxDataEmploye.Object);
            ReleveMensuel releveMensuel = new ReleveMensuel();

            releveMensuel.Jours.Add(new ReleveJour
            {
                Jour         = DateTime.Now,
                NombreHeures = 15
            });

            //serviceReleve.EnregistrerReleveMensuel(releveMensuel);
            var exception = Assert.ThrowsException <BusinessException>(() =>
            {
                serviceReleve.EnregistrerReleveMensuel(releveMensuel);
            });

            Assert.AreEqual("Vous avez dépassé la limite horraire journalière",
                            exception.Message);
        }
        public ActionResult Nouveau(EditionReleveMensuelViewModel viewModel)
        {
            if (this.ModelState.IsValid)
            {
                var releveMensuel = new ReleveMensuel
                {
                    IdOuvrier = viewModel.IdOuvrier,
                    IdPeriode = viewModel.IdPeriode,
                };

                foreach (var releveJour in viewModel.Jours)
                {
                    releveMensuel.Jours.Add(new ReleveJour
                    {
                        Jour         = releveJour.Date,
                        NombreHeures = releveJour.NombreHeures.Value
                    });
                }

                try
                {
                    this.serviceReleve.EnregistrerReleveMensuel(releveMensuel);
                    return(this.RedirectToAction("Index", "Releves"));
                }
                catch (BusinessException exception)
                {
                    this.ModelState.AddModelError(string.Empty, exception.Message);
                }
            }

            viewModel.Periode = this.servicePeriode.GetPeriode(viewModel.IdPeriode);
            return(this.View("EditionReleveMensuel", viewModel));
        }
        public void EnregistrerReleveMensuel(ReleveMensuel releveMensuel)
        {
            var ouvrier = this.dataEmploye.GetOuvrier(releveMensuel.IdOuvrier);

            releveMensuel.NombreTotalHeures = releveMensuel.Jours.Sum(x => x.NombreHeures);
            releveMensuel.TauxHoraire       = ouvrier.TauxHoraire;

            this.dataReleve.EnregistrerReleveMensuel(releveMensuel);
        }
Beispiel #6
0
        public void EnregistrerReleveMensuel(ReleveMensuel releveMensuel)
        {
            var ouvrier = this.dataEmploye.GetOuvrier(releveMensuel.IdOuvrier);

            if (releveMensuel.Jours.Any(x => x.NombreHeures >= 13))

            {
                throw new BusinessException("Le nombre d'heure doit etre compris entre 1 et 13");
            }
            releveMensuel.NombreTotalHeures = releveMensuel.Jours.Sum(x => x.NombreHeures);
            releveMensuel.TauxHoraire       = ouvrier.TauxHoraire;

            this.dataReleve.EnregistrerReleveMensuel(releveMensuel);
        }
Beispiel #7
0
        public void ValiderHoraire(string rawHoraire)
        {
            var fauxDataReleve  = new Mock <IDataReleve>();
            var fauxDataEmploye = new Mock <IDataEmploye>();
            var NombreHeures    = decimal.Parse(rawHoraire);
            var serviceReleve   = new ServiceReleve(fauxDataReleve.Object, fauxDataEmploye.Object);
            var releveMensuel   = new ReleveMensuel();

            var exception = Assert.ThrowsException <BusinessException>(() =>
            {
                var releveJour = new ReleveJour
                {
                    Jour         = new DateTime(2018, 05, 10),
                    NombreHeures = 20
                };
                releveMensuel.Jours.Add(releveJour);
                serviceReleve.EnregistrerReleveMensuel(releveMensuel);
            });

            Assert.AreEqual("Le nombre d'heure doit etre compris entre 1 et 13", exception.Message);
        }