Пример #1
0
        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";
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
            //}
        }