public async Task LoadOrders() { using (var context = new NeoTrackerContext()) using (var Genius = new IVCLIVEDBEntities()) { var projects = context.Projects.Select(x => x.Code).ToArray(); Orders = await Genius.Comms.Where(x => x.Datecli > DateTime.Today && !projects.Contains(x.No_Com)).OrderByDescending(x => x.Datecli).ThenBy(x => x.No_Com).Select(x => new OrderViewModel() { Code = x.No_Com, Client = x.Fact_A1, ClientDate = x.Datecli, Po = x.No_Po, }).ToListAsync(); } }
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(); } }