public bool UpdateCycle(Cycle cycle) { try { var cycleUpdate = (from tcycle in _context.tCycle where tcycle.CycleID == cycle.Id select tcycle).FirstOrDefault(); if (cycleUpdate != null) { cycleUpdate.Year = cycle.Year; cycleUpdate.CycleName = cycle.CycleName; cycleUpdate.CycleShortName = cycle.ShortName; cycleUpdate.StartDate = cycle.StartDate; cycleUpdate.EndDate = cycle.EndDate; cycleUpdate.ModifiedAt = DateTime.Now; cycleUpdate.Active = cycle.Active; _context.SaveChanges(); var cycleWeek = (from cw in _context.tCycleWeek where cw.CycleId == cycle.Id select cw).ToList(); foreach (var week in cycleWeek) { _context.tCycleWeek.Remove(week); } _context.SaveChanges(); //add cycle week var startDate = cycle.StartDate; var endDate = cycle.EndDate; TimeSpan timeSpan = (Convert.ToDateTime(endDate) - Convert.ToDateTime(startDate)); var totalWeek = Convert.ToInt32(timeSpan.TotalDays / 7); for (int i = 1; i <= totalWeek; i++) { var cWeek = new tCycleWeek(); cWeek.CycleId = cycle.Id; cWeek.StartDate = Convert.ToDateTime(startDate).AddDays((i - 1) * 7); cWeek.EndDate = cWeek.StartDate.AddDays(6); cWeek.WeekNo = i; _context.tCycleWeek.Add(cWeek); _context.SaveChanges(); } return(true); } else { return(false); } } catch (Exception ex) { return(false); } }
public Cycle CreateNewCycle(Cycle cycle) { try { tCycle addNewCycle = new tCycle() { InstanceID = 1, Year = cycle.Year, CycleName = cycle.CycleName, CycleShortName = cycle.ShortName, //KeyFieldID = 0, StartDate = cycle.StartDate, EndDate = cycle.EndDate, Active = cycle.Active, Archived = false, IsLocked = false, ModifiedAt = DateTime.Now }; _context.tCycle.Add(addNewCycle); _context.SaveChanges(); //add cycle week var startDate = cycle.StartDate; var endDate = cycle.EndDate; TimeSpan timeSpan = (Convert.ToDateTime(endDate) - Convert.ToDateTime(startDate)); var totalWeek = Convert.ToInt32(timeSpan.TotalDays / 7); for (int i = 1; i <= totalWeek; i++) { var cycleWeek = new tCycleWeek(); cycleWeek.CycleId = addNewCycle.CycleID; cycleWeek.StartDate = Convert.ToDateTime(startDate).AddDays((i - 1) * 7); cycleWeek.EndDate = cycleWeek.StartDate.AddDays(6); cycleWeek.WeekNo = i; _context.tCycleWeek.Add(cycleWeek); _context.SaveChanges(); } return(new Cycle() { Id = addNewCycle.CycleID, InstanceId = addNewCycle.InstanceID, CycleName = addNewCycle.CycleName, ShortName = addNewCycle.CycleShortName, Year = addNewCycle.Year, CreatedDatetime = addNewCycle.ModifiedAt, Status = addNewCycle.Active == true ? "Active" : "Inactive", IsLocked = addNewCycle.IsLocked, StartDate = addNewCycle.StartDate, EndDate = addNewCycle.EndDate }); } catch (Exception ex) { return(new Cycle() { }); } }