public async void CreateOrSaveDB() { //var mainview = Application.Current.MainWindow as MetroWindow; var c = new LocalIssue() { //Id=3, Head = "very fake issue", Body = "fat body for fat issue", Color = "reed", Created = DateTime.Now, Modified = DateTime.Now, Row = new RowInfo { Name = "changingbysaving", Order = 2, Id = 4 }, Column = new ColumnInfo { Name = "firstco2134lss", Order = 1, Id = 3 }, }; var t = new ColumnInfo { Name = "firstcolsscs", Order = 1, Id = 3 }; // _repos = new SqliteLocalRepository(@"C:\ArsMak\Kanban.Desktop\Kanban.Desktop\Data.Sources.LocalStorage.Sqlite.Tests\bin\Debug\lololo.db"); var cc = await repos.CreateOrUpdateIssueAsync(c); var tt = await repos.CreateOrUpdateColumnAsync(t); }
public IssueViewModel() { mapper = CreateMapper(); var issueFilled = this.WhenAnyValue(t => t.Head, t => t.Body, t => t.Row, t => t.Column, (sh, sb, sr, sc) => sr != null && sc != null && !string.IsNullOrEmpty(sh) && !string.IsNullOrEmpty(sb)); //TODO :add selectcommand when click uneditable with nulling all "selected" fields SaveCommand = ReactiveCommand.CreateFromTask(async _ => { var editedIssue = new LocalIssue() { Board = board }; mapper.Map(this, editedIssue); if (editedIssue.Id == 0) { editedIssue.Created = DateTime.Now; } editedIssue.Modified = DateTime.Now; await scope.CreateOrUpdateIssueAsync(editedIssue); IsOpened = false; IssueChanged = true; }, issueFilled); CancelCommand = ReactiveCommand.Create(() => IsOpened = false); }
//[Test] public async void RepShouldUpdateIssues() { // _repos = new SqliteLocalRepository("vsqwe"); LocalIssue newiss = new LocalIssue() { //Id=3, Head = "very fake issue", Body = "fat body for fat issue", Color = "reed", Created = DateTime.Now, Modified = DateTime.Now, Row = new RowInfo { Name = "changingbysaving", Order = 2, Id = 4 }, Column = new ColumnInfo { Name = "firstcolss", Order = 1, Id = 3 }, }; // RowInfo newrow = new RowInfo { Name = "newrow", Order = 242, Width = 14 }; var filt = new NameValueCollection(); //var t=await _repos.CreateOrUpdateIssueAsync(newiss); //var t = _repos.GetIssues(filt); //var tt = t.Where(i => i.Id == 1); await repos.DeleteIssueAsync(17); // var newnew = _repos.CreateOrUpdateIssueAsync(newiss); }
public async Task<LocalIssue> CreateOrUpdateIssueAsync(LocalIssue issue) { using (context = new SqliteContext(BaseConnstr)) { var existed = context.Issue .AsNoTracking() .Include(i => i.Row) .Include(i => i.Column) .FirstOrDefault(iss => iss.Id == issue.Id); mapper.Map(issue, existed); if (existed == null) { var newiss = mapper.Map<SqliteIssue>(issue); context.Attach(newiss.Row); context.Attach(newiss.Column); await context.AddAsync(newiss); await context.SaveChangesAsync(); context.Update(newiss.Column); context.Update(newiss.Row); await context.SaveChangesAsync(); return mapper.Map<LocalIssue>(newiss); } context.Update(existed); await context.SaveChangesAsync(); return issue; } }
public async Task <LocalIssue> LoadOrCreateIssueAsync(int?issueId) { var t = new LocalIssue(); if (issueId.HasValue) { t = await repo.GetIssueAsync(issueId.Value); } return(t); }
public IssueViewModel() { mapper = CreateMapper(); var issueFilled = this.WhenAnyValue(t => t.Head, t => t.Body, t => t.Row, t => t.Column, (sh, sb, sr, sc) => sr != null && sc != null && !string.IsNullOrEmpty(sh) && !string.IsNullOrEmpty(sb)); //TODO :add selectcommand when click uneditable with nulling all "selected" fields SaveCommand = ReactiveCommand.CreateFromTask(async _ => { var editedIssue = new LocalIssue(); mapper.Map(this, editedIssue); await scope.SaveIssueAsync(editedIssue); Close(); }, issueFilled); CancelCommand = ReactiveCommand.Create(Close); }
public async Task CreateOrUpdateIssueAsync(LocalIssue issue) { await repo.CreateOrUpdateIssueAsync(issue); }
public async Task SaveIssueAsync(LocalIssue issue) { issue.Modified = DateTime.Now; await repo_.CreateOrUpdateIssueAsync(issue); }