public static void UpdadteCourseAdons(string SelectedOptions, int StudentID) { Context db = new Context(); //var QueryResult = db.Database.ExecuteSqlCommand("Delete from CourseAdons Where StudentID = " + StudentID); if (!string.IsNullOrWhiteSpace(SelectedOptions)) { int[] addons = Array.ConvertAll(SelectedOptions.Split(','), int.Parse); List <RegistrationAdOn> lstSelectedAddon = db.RegistrationAdOn.Where(x => addons.Contains(x.AdOnID)).ToList(); List <CourseAdon> lstCourseAdons = db.CourseAdon.Where(x => x.StudentID == StudentID).ToList(); //CHECK IF NOT EXIST NOW AND EXIST IN COURSE ADDON THEN DELETE FROM COURSE ADDON //CHECK IF EXIST NOW AND NOT EXIST IN COURSE ADDON THEN ADD TO COURSE ADD ON foreach (var selectedAddon in lstSelectedAddon) { if (lstCourseAdons.Any(x => x.AdonID == selectedAddon.AdOnID) == false) { CourseAdon courseAdon = new CourseAdon(); courseAdon.AdonID = selectedAddon.AdOnID; courseAdon.AdOnName = selectedAddon.Name; courseAdon.Price = selectedAddon.Price; courseAdon.Type = selectedAddon.Type; courseAdon.StudentID = StudentID; courseAdon.RegisterDate = DateTime.Now; db.Configuration.ValidateOnSaveEnabled = false; db.CourseAdon.Add(courseAdon); db.SaveChanges(); lstCourseAdons.Add(courseAdon); } } foreach (var courseAddon in lstCourseAdons) { if (lstSelectedAddon.Any(x => x.AdOnID == courseAddon.AdonID) == false) { db.CourseAdon.Attach(courseAddon); var entity = db.Entry(courseAddon); entity.State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); } } } }
public static void AssignKeycodesToCourseAddons(string SelectedOptions, string FirstName, string LastName, string Email, int ClassID, int StudentID) { Context db = new Context(); if (!string.IsNullOrWhiteSpace(SelectedOptions)) { int[] addons = Array.ConvertAll(SelectedOptions.Split(','), int.Parse); List <RegistrationAdOn> lstAddOns = db.RegistrationAdOn.Where(x => addons.Contains(x.AdOnID)).ToList(); foreach (var addon in lstAddOns) { CourseAdon courseAdon = new CourseAdon(); courseAdon.AdonID = addon.AdOnID; courseAdon.Price = addon.Price; courseAdon.Type = addon.Type; courseAdon.AdOnName = addon.Name; courseAdon.StudentID = StudentID; courseAdon.RegisterDate = DateTime.Now; db.Configuration.ValidateOnSaveEnabled = false; db.CourseAdon.Add(courseAdon); db.SaveChanges(); int courseAdonID = courseAdon.ID; if (addon.Type == "KeyCode") { Keycode keycode = Common.Utilities.RegisterKeycode(Convert.ToInt32(addon.KeycodeID), FirstName, LastName, Email, ClassID, addon.AdOnID); if (keycode != null && keycode.KeycodeID > 0) { string instructions = db.KeycodeBank.Find(keycode.KeyBankID).Instructions; db.Configuration.ValidateOnSaveEnabled = false; var createdAdon = db.CourseAdon.Find(courseAdonID); createdAdon.Keycode = keycode.Key; createdAdon.KeycodeID = keycode.KeycodeID; createdAdon.KeycodeInstructions = instructions; db.CourseAdon.Attach(createdAdon); var entry = db.Entry(createdAdon); entry.Property(e => e.Keycode).IsModified = true; entry.Property(e => e.KeycodeID).IsModified = true; entry.Property(e => e.KeycodeInstructions).IsModified = true; db.SaveChanges(); } } } } }