public EventListViewModelBase( IEventAggregator eventAggregator, MasterContext masterContext ) : base(eventAggregator) { this.masterContext = masterContext; var eventsOccured = this.masterContext.EventsOccured.OrderByDescending(e => e.Date).Take(20).ToList(); this.Events = eventsOccured.Select(eo => { switch (eo.Type) { case Data.Master.Model.EventType.FillUp: var evModel = this.masterContext.FillUps.Find(eo.EntityId); var fillUp = new FillUpEntity() { Id = evModel.Id, Name = eo.Title, Expense = eo.Expense, Profit = eo.Profit, LiterCost = evModel.LiterCost, Litres = evModel.LitresValue, Mileage = eo.Mileage, OccuredDate = eo.Date }; return(fillUp); default: return(new EventOccuredEntity()); } }); this.DisplayName = "Events"; }
public static async Task FillUp_CreateAsync(this MasterContext context, FillUpEntity fillUp) { var fillUpModel = new FillUpModel(); fillUpModel.LitresValue = fillUp.Litres; fillUpModel.LiterCost = fillUp.LiterCost; await context.FillUps.AddAsync(fillUpModel); await context.SaveChangesAsync(); var @event = new EventOccuredModel(); @event.Expense = fillUp.Expense; @event.Title = fillUp.Name; @event.Date = fillUp.OccuredDate; @event.Mileage = fillUp.Mileage; @event.EntityId = fillUpModel.Id; @event.Type = Data.Master.Model.EventType.FillUp; @event.Vehicle_VehicleId = fillUp.Vehicle.Id; await context.EventsOccured.AddAsync(@event); await context.SaveChangesAsync(); }
protected async virtual void Save() { //using (var tran = await this.masterContext.Database.BeginTransactionAsync()) //{ var fillUp = new FillUpEntity(); fillUp.Expense = this.Expense; fillUp.Litres = this.Litres; fillUp.LiterCost = this.LiterCost; fillUp.Name = this.Title; fillUp.OccuredDate = this.Date; fillUp.Mileage = this.Mileage; fillUp.Vehicle = this.userSessionService.CurrentVehicle; await this.masterContext.FillUp_CreateAsync(fillUp); // tran.Commit(); //} }