public ActionResult Annulation() { int uid = int.Parse(Session["uid"].ToString()); demandeconge e = db.demandeconge.Find(uid); string button = Request["button"]; DateTime dateDebut = e.DateDebut.Value; DateTime dateFin = e.DateFin.Value; /* var dure = (dateFin - dateDebut).Days; * * * double du = Convert.ToDouble(dure) + 1; * double d = du * 24; * double nb = Convert.ToDouble(e.employe.nbHeureR); * * double res = nb + d; */ var recup = db.CumulRecup.Include(d => d.employe).Where(p => p.employe.idEmploye == e.IdEmploye).Select(u => new { hs = u.CumulHr, jf = u.CumulJrF, jr = u.CumulJrR, id = u.IDCumulRecup }).Single(); CumulRecup cr = db.CumulRecup.Find(recup.id); double hsA = Convert.ToDouble(cr.CumulHr); //en heure double jf = Convert.ToDouble(recup.jf); double jR = Convert.ToDouble(recup.jr); var dureM = (dateFin - dateDebut).TotalHours + 1; var dureD = (dateFin - dateDebut).Days + 1; double duM = Convert.ToDouble(dureM); double nbM = Convert.ToDouble(e.employe.nbHeureR); double resM = nbM + duM; switch (button) { case "Retour": return(RedirectToAction("Index")); case "annule": if (e.IdtypeConge == 23) { double dhs = hsA + dureM; cr.CumulHr = Convert.ToString(dhs); } else if (e.IdtypeConge == 25) { double dhs = jf + dureD; string dh = Convert.ToString(dhs); cr.CumulJrF = float.Parse(dh); } else if (e.IdtypeConge == 24) { double dhs = jR + dureD; string dh = Convert.ToString(dhs); cr.CumulJrR = float.Parse(dh); } else { e.employe.nbHeureR = resM.ToString(); } e.ValdationRH = "En cours"; e.ValidationN1 = "En cours"; e.ValidationN2 = "En cours"; e.annulation = "oui"; db.Entry(e).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); default: return(View()); } }
public ActionResult Validation() { int uid = int.Parse(Session["uid"].ToString()); demandeconge e = db.demandeconge.Find(uid); string button = Request["button"]; DCTEMP dc = new DCTEMP(); DateTime dateDebut = e.DateDebut.Value; DateTime dateFin = e.DateFin.Value; /*var dure = (dateFin - dateDebut).Days; * var dureM = (dateFin - dateDebut).TotalMinutes; * * double du = Convert.ToDouble(dure) + 1; * double duM = Convert.ToDouble(dureM) + 1440; * double nb = Convert.ToDouble(e.employe.nbHeureR); * double nbM = Convert.ToDouble(e.employe.nbHeureR) * 24 * 60; * double res = nb - du; * double resM = nbM - duM; * double resJ = resM / 1440; */ var recup = db.CumulRecup.Include(d => d.employe).Where(p => p.employe.idEmploye == e.IdEmploye).Select(u => new { hs = u.CumulHr, jf = u.CumulJrF, jr = u.CumulJrR, id = u.IDCumulRecup }).Single(); CumulRecup cr = db.CumulRecup.Find(recup.id); double hsA = Convert.ToDouble(cr.CumulHr); //en heure double jf = Convert.ToDouble(recup.jf); double jR = Convert.ToDouble(recup.jr); var dureM = (dateFin - dateDebut).TotalHours + 1; var dureD = (dateFin - dateDebut).Days + 1; double duM = Convert.ToDouble(dureM); double nbM = Convert.ToDouble(e.employe.nbHeureR); double resM = nbM - duM; switch (button) { case "Accepté": if (e.IdtypeConge == 23) { double dhs = hsA - dureM; cr.CumulHr = Convert.ToString(dhs); } else if (e.IdtypeConge == 25) { double dhs = jf - dureD; string dh = Convert.ToString(dhs); cr.CumulJrF = float.Parse(dh); } else if (e.IdtypeConge == 24) { double dhs = jR - dureD; string dh = Convert.ToString(dhs); cr.CumulJrR = float.Parse(dh); } else { e.employe.nbHeureR = resM.ToString(); } e.ValdationRH = "accepte"; if (e.ValidationN1.Equals("En cours")) { e.ValidationN1 = "*******"; } e.DateValidationRH = DateTime.Now; //DCTEMP dc.matricule = e.employe.matricule; dc.DateDebut = e.DateDebut; dc.DateFin = e.DateFin; dc.typeDeConge = e.typeconge.designation; dc.Status = "En att"; db.Entry(e).State = EntityState.Modified; db.DCTEMP.Add(dc); db.SaveChanges(); return(RedirectToAction("historique")); case "Refusé": e.ValdationRH = "refuse"; db.Entry(e).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("historique")); case "Annulé": return(RedirectToAction("historique")); default: return(View()); } }