public async Task RemoveUser(User user) { try { var dialog = new QuestionDialog("Do you want to remove this user (" + user.LongName + ")?"); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { using (var context = new NeoTrackerContext()) { if (HeadOfDepartment != null && HeadOfDepartment.UserID == user.UserID) { HeadOfDepartment = null; context.Entry(GetModel()).State = EntityState.Modified; await context.SaveChangesAsync(); } var data = await context.DepartmentUsers.FirstOrDefaultAsync(x => x.UserID == user.UserID && x.DepartmentID == DepartmentID); if (data != null) { context.Entry(data).State = EntityState.Deleted; await context.SaveChangesAsync(); await LoadUsers(); } } } ; } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }
public async Task Save() { try { using (var context = new NeoTrackerContext()) { var data = GetModel(); if (EventID == 0) { context.Events.Add(data); } else { context.Entry(data).State = EntityState.Modified; } await context.SaveChangesAsync(); } await App.vm.Project.LoadEvents(); EndEdit(); } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }
public async Task Delete() { try { var dialog = new QuestionDialog("Do you really want to delete this Event (" + Description + ")?"); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { using (var context = new NeoTrackerContext()) { //if (CanDelete) //{ var data = GetModel(); context.Entry(data).State = EntityState.Deleted; App.vm.Project.Events.Remove(this); await context.SaveChangesAsync(); EndEdit(); //} } } } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }
public async Task RemoveDepartment(DepartmentViewModel department) { try { var dialog = new QuestionDialog("Do you want to remove this department (" + department.Name + ")?"); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { using (var context = new NeoTrackerContext()) { var data = await context.DepartmentUsers.FirstOrDefaultAsync(x => x.DepartmentID == department.DepartmentID && x.UserID == UserID); if (data != null) { context.Entry(data).State = EntityState.Deleted; await context.SaveChangesAsync(); await LoadDepartments(); } } } ; } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }
public async Task MassUpdateOperations(List <Operation> ops, DateTime?StartDate, DateTime?EndDate, bool?Completed) { if (ItemID != 0 && Operations.Any()) { using (var context = new NeoTrackerContext()) { foreach (var o in ops) { if (EndDate.HasValue) { o.EndDate = EndDate.Value; } if (Completed.HasValue && Completed.Value) { o.IsCompleted = true; } if (StartDate.HasValue) { o.StartDate = StartDate.Value; } context.Entry(o).State = EntityState.Modified; } await context.SaveChangesAsync(); } } }
public async Task Delete() { try { var dialog = new QuestionDialog("Do you really want to delete this operation (" + Name + ")?"); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { using (var context = new NeoTrackerContext()) { var data = GetModel(); context.Entry(data).State = EntityState.Deleted; App.vm.Item.Operations.Remove(this); var changeLogs = App.vm.ChangeLog.Where(x => x.EntityName == "Operation" && x.PrimaryKeyValue == data.OperationID).ToList(); changeLogs.ForEach(x => context.Entry(x).State = EntityState.Deleted); await context.SaveChangesAsync(); EndEdit(); } } } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }
public async Task AddUsers() { using (var context = new NeoTrackerContext()) { try { var list = context.Users.Where(x => !context.DepartmentUsers.Any(y => y.DepartmentID == DepartmentID && y.UserID == x.UserID)).ToList().Select(x => new DropdownItem() { Value = x.UserID, Text = x.LongName }).OrderBy(x => x.Text).ToList(); if (list.Any()) { App.vm.SelectItemList = list; var dialog = new SelectDialog("Select users"); dialog.ShowDialog(); if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { var result = App.vm.SelectItemList.Where(x => x.IsSelected).ToList(); if (result.Any()) { foreach (var item in result) { context.DepartmentUsers.Add(new DepartmentUser() { DepartmentID = DepartmentID, UserID = item.Value }); } await context.SaveChangesAsync(); await LoadUsers(); } } } else { App.vm.UserMsg = "No users to add!!!"; } } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } } }
public async Task Save() { try { using (var context = new NeoTrackerContext()) { var data = GetModel(); context.Entry(data).State = EntityState.Modified; await context.SaveChangesAsync(); } EndEdit(); await App.vm.LoadProjects(); } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }
public async Task Create(OrderViewModel order) { try { Code = order.Code; PurchaseOrder = order.Po; Client = order.Client; IsActive = true; using (var IvcContext = new IVCLIVEDBEntities()) using (var context = new NeoTrackerContext()) { var project = GetModel(); var Operations = await context.DepartmentOperations.Where(x => x.IsActive).ToListAsync(); var statusID = await context.Statuses.OrderBy(s => s.SortOrder).ThenBy(s => s.Name).Where(s => s.IsActive).Select(s => s.StatusID).FirstAsync(); var Items = await IvcContext.Comm2.Where(x => x.No_Com == Code).Select(x => new Item() { Code = x.Item, Name = x.Des, DueDate = x.Dateliv, ProjectID = ProjectID, IsActive = true, SortOrder = x.Ligneitm, StatusID = statusID, SortKey = x.Clef, }).ToListAsync(); foreach (var item in Items) { item.Operations = new List <Operation>(); foreach (var o in Operations) { item.Operations.Add(new Operation() { OperationTime = o.OperationTime, DepartmentID = o.DepartmentID, IsActive = true, Name = o.Name, IsCompleted = false, SortOrder = o.SortOrder, }); } } project.Items = Items; context.Projects.Add(project); await context.SaveChangesAsync(); ProjectID = project.ProjectID; await LoadItems(); } EndEdit(); Orders.Clear(); await App.vm.LoadProjects(); } catch (Exception e) { App.vm.UserMsg = e.Message.ToString(); } }