public static int Upsert(TodoTask _entity) { int upsertCount = 0; using (var context = new EfDbContext()) { var entity = context.TodoTasks.Find(_entity.TodoTaskId); if (entity == null) { entity = new TodoTask() { TodoTaskId = _entity.TodoTaskId ?? EfDbContext.GenerateId() }; entity.CopyValuesFrom(_entity); context.Add(entity); _entity.TodoTaskId = entity.TodoTaskId; } else { entity.CopyValuesFrom(_entity); } upsertCount = context.SaveChanges(); } return(upsertCount); }
/// <summary> /// 画面の情報を集めて、エンティティにセットします /// </summary> private TodoTask CollectScreenInformation(TodoTask _entity) { _entity.CopyValuesFrom(this.EditingTodoTask); _entity.TodoTaskId = this.TodoTaskId.Value; _entity.DueDate = this.DueDate.Value?.Date.AddHours(Convert.ToInt32(this.DueDateHour.Value)).AddMinutes(Convert.ToInt32(this.DueDateMinute.Value)); _entity.StatusCode = this.Status.Value ? StatusCode.CODE_FINISHED : StatusCode.CODE_NOT_YET; _entity.Subject = this.Subject.Value; return(_entity); }
public static int Add(TodoTask _entity) { int addCount = 0; using (var context = new EfDbContext()) { TodoTask entity = new TodoTask() { TodoTaskId = EfDbContext.GenerateId() }; entity.CopyValuesFrom(_entity); context.Add(entity); addCount = context.SaveChanges(); _entity.TodoTaskId = entity.TodoTaskId; } return(addCount); }