public async Task <ActionResult <TasksMeta> > PostTasksMeta(TasksMeta tasksMeta) { _context.TasksMeta.Add(tasksMeta); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTasksMeta", new { id = tasksMeta.Id }, tasksMeta)); }
public async Task <IActionResult> PutTasksMeta(int id, TasksMeta tasksMeta) { if (id != tasksMeta.Id) { return(BadRequest()); } _context.Entry(tasksMeta).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TasksMetaExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Tasks> > PostTasks([FromBody] TaskInsert taskData) { int userId = int.Parse(User.Identity.Name); if (userId != taskData.UserId) { return(BadRequest()); } Tasks task = new Tasks(taskData.Name, taskData.Description, taskData.UserId); TasksMeta taskMeta; _context.Tasks.Add(task); await _context.SaveChangesAsync(); if (taskData.Checked) { taskMeta = new TasksMeta(taskData.StartDate, taskData.RepeatInterval, null, null, null, null, null, task.Id); } else { if (String.IsNullOrEmpty(taskData.RepeatYear)) { taskData.RepeatYear = "*"; } if (String.IsNullOrEmpty(taskData.RepeatMonth)) { taskData.RepeatMonth = "*"; } if (String.IsNullOrEmpty(taskData.RepeatDay)) { taskData.RepeatDay = "*"; } if (String.IsNullOrEmpty(taskData.RepeatWeek)) { taskData.RepeatWeek = "*"; } if (String.IsNullOrEmpty(taskData.RepeatWeekday)) { taskData.RepeatWeekday = "*"; } taskMeta = new TasksMeta(taskData.StartDate, null, taskData.RepeatYear, taskData.RepeatMonth, taskData.RepeatDay, taskData.RepeatWeek, taskData.RepeatWeekday, task.Id); } _context.TasksMeta.Add(taskMeta); await _context.SaveChangesAsync(); return(NoContent()); }
private bool isComplexRecurringValid(TasksMeta t, DateTime date) { if (t.StartDate.CompareTo(date) != 1 && (Int32.TryParse(t.RepeatYear, out int year) && date.Year == year || (!String.IsNullOrEmpty(t.RepeatYear) && t.RepeatYear.Equals("*"))) && (Int32.TryParse(t.RepeatMonth, out int month) && date.Month == month || (!String.IsNullOrEmpty(t.RepeatMonth) && t.RepeatMonth.Equals("*"))) && (Int32.TryParse(t.RepeatDay, out int day) && date.Day == day || (!String.IsNullOrEmpty(t.RepeatDay) && t.RepeatDay.Equals("*"))) && (Int32.TryParse(t.RepeatWeek, out int week) && GetWeekNumberOfMonth(date) == week || (!String.IsNullOrEmpty(t.RepeatWeek) && t.RepeatWeek.Equals("*"))) && (Int32.TryParse(t.RepeatWeekday, out int weekDay) && (int)date.DayOfWeek == weekDay || (!String.IsNullOrEmpty(t.RepeatWeekday) && t.RepeatWeekday.Equals("*")))) { return(true); } return(false); }