public ActionResult DeleteConfirmed(int id) { var role = UserRole(); if (!role.WS_CreateVisit) { return(RedirectToAction("Unauthorized", "Error", new { role.Role, role.UserName })); } WelcomeVisit welcomeVisit = db.WelcomeVisits.Find(id); if (welcomeVisit == null) { return(HttpNotFound()); } DateTime dnow = DateTime.Now; double hours = (dnow - welcomeVisit.CreatingDT).TotalHours; if (hours > 24 || welcomeVisit.FromDT < dnow) //Ebben az esetben a histbe mentődnek az adatok. { WelcomeVisitHist vishist = new WelcomeVisitHist { Visit_ID = welcomeVisit.Visit_ID, Visit = welcomeVisit.Visit, FromDT = welcomeVisit.FromDT, ToDT = welcomeVisit.ToDT, Company = welcomeVisit.Company, CreatingDT = welcomeVisit.CreatingDT, Deleted = true }; db.WelcomeVisitHists.Add(vishist); WelcomeGuestVisitHist gvhist; foreach (WelcomeGuestVisit ogv in welcomeVisit.GuestVisits) { if (!ogv.Guest.Deleted) { gvhist = new WelcomeGuestVisitHist { Guest = ogv.Guest, VisitHist = vishist }; db.WelcomeGuestVisitHists.Add(gvhist); } } } db.WelcomeVisits.Remove(welcomeVisit); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// A már elmúlt időpontú látogatásokat és a hozzá kapcsolodó vendégeket átteszi a hisztorikus adatokba. /// </summary> /// <param name="dnow"></param> private void OldVisitsToHist(DateTime dnow) { var oviss = db.WelcomeVisits .Include(v => v.GuestVisits) .Where(v => v.ToDT < dnow).ToList(); if (oviss.Count() > 0) { foreach (var ov in oviss) { WelcomeVisitHist vishist = new WelcomeVisitHist { Visit_ID = ov.Visit_ID, Visit = ov.Visit, FromDT = ov.FromDT, ToDT = ov.ToDT, Company = ov.Company, CreatingDT = ov.CreatingDT, Deleted = false }; db.WelcomeVisitHists.Add(vishist); foreach (var ogv in ov.GuestVisits) { if (!ogv.Guest.Deleted) { WelcomeGuestVisitHist gvhist = new WelcomeGuestVisitHist { Guest = ogv.Guest, VisitHist = vishist }; db.WelcomeGuestVisitHists.Add(gvhist); } } db.WelcomeVisits.Remove(ov); } db.SaveChanges(); } }