public TicketDetailsPage(Data.Model.Schedule item)
 {
     InitializeComponent();
     BindingContext = model = new TicketDetailsViewModel()
     {
         ScheduleModel = item
     };
 }
示例#2
0
 public PaymentGatwayPage(Data.Model.Schedule item)
 {
     InitializeComponent();
     BindingContext = model = new PaymentGatwayPageViewModel()
     {
         ScheduleModel = item
     };
 }
示例#3
0
 public RequestedServicesPage(Data.Model.Schedule item)
 {
     InitializeComponent();
     BindingContext = model = new RequestedServicesViewModel()
     {
         scheduleModel = item
     };
 }
示例#4
0
        public List <Data.Model.Schedule> Get(ScheduleRequest req)
        {
            var query = _context.Schedules.Include(s => s.ScheduleStatus).Include(s => s.Request).ThenInclude(r => r.User).Include(s => s.Request.CarService).AsQueryable();


            if (req.userName != null)
            {
                query = query.Where(x => x.Request.User.FirstName == req.userName);
            }
            if (req.userLastName != null)
            {
                query = query.Where(x => x.Request.User.LastName == req.userLastName);
            }
            var list = new List <WebAPI.Database.Schedule>();

            if (req.userName != null || req.userLastName != null)
            {
                if (req.AdminSearch)
                {
                    list = query.Where(s => s.Request.CarServiceID == req.CarServiceID).OrderBy(s => s.DateofSchedule).ToList();
                }
                else
                {
                    list = query.OrderBy(s => s.DateofSchedule).ToList();
                }
            }
            else
            {
                if (req.AdminSearch)
                {
                    list = query.Where(s => s.ScheduleStatusID == req.ScheduleStatusID && s.Request.CarServiceID == req.CarServiceID).OrderBy(s => s.DateofSchedule).ToList();
                }
                else
                {
                    list = query.Where(s => s.ScheduleStatusID == req.ScheduleStatusID).OrderBy(s => s.DateofSchedule).ToList();
                }
            }
            var modelList = new List <Data.Model.Schedule>();

            foreach (var x in list)
            {
                var model = new Data.Model.Schedule()
                {
                    ScheduleID       = x.ScheduleID,
                    RequestID        = x.RequestID,
                    DateofSchedule   = x.DateofSchedule,
                    ScheduleStatusID = x.ScheduleStatusID,
                    Status           = x.ScheduleStatus.name,
                    isPaid           = x.isPaid,
                    totalPrice       = x.totalPrice,
                    User             = x.Request.User.FirstName + " " + x.Request.User.LastName,
                    CarServiceName   = x.Request.CarService.CarServiceName,
                    Date             = x.DateofSchedule.Day + "." + x.DateofSchedule.Month + "." + x.DateofSchedule.Year + " " + x.DateofSchedule.Hour + ":" + x.DateofSchedule.Minute
                };
                modelList.Add(model);
            }
            return(modelList);
        }
 public SelectOfferItemsPage(Data.Model.Schedule item)
 {
     InitializeComponent();
     BindingContext = model = new SelectOfferItemsViewModel()
     {
         ScheduleModel = item
     };
     scheduleModel = item;
 }
示例#6
0
 public ScheduleDetailsPage(Data.Model.Schedule item)
 {
     InitializeComponent();
     scheduleModel  = item;
     BindingContext = model = new ScheduleDetailsVM()
     {
         ScheduleModel = item
     };
 }
示例#7
0
        internal override async Task <EntityResult> AfterUpdateAsync(Data.Model.Schedule entity, bool notifyAll = false)
        {
            foreach (var user in entity.Users)
            {
                await Context.Entry <Data.Model.ScheduleUser>(user).Reference(su => su.User).LoadAsync();
            }

            foreach (var asset in entity.Assets)
            {
                await Context.Entry <Data.Model.ScheduleAsset>(asset).Reference(sa => sa.Asset).LoadAsync();
            }

            return(EntityResult.Succeded(0));
        }
示例#8
0
        internal override void BeforeCreate(Data.Model.Schedule entity, Data.Dto.Schedule dto)
        {
            ThrowIfDisposed();
            entity.StartsOn = entity.StartsOn.LessSeconds();

            foreach (var item in dto.Assets)
            {
                entity.Assets.Add(new Data.Model.ScheduleAsset()
                {
                    AssetId             = item.AssetId,
                    ScheduleAssetTypeId = item.ScheduleAssetTypeId
                });
            }

            foreach (var item in dto.Users)
            {
                entity.Users.Add(new Data.Model.ScheduleUser()
                {
                    UserId             = item.UserId,
                    ScheduleUserTypeId = item.ScheduleUserTypeId
                });
            }
        }
示例#9
0
        internal override void BeforeUpdate(Data.Model.Schedule entity, Data.Dto.Schedule dto)
        {
            ThrowIfDisposed();
            entity.StartsOn = entity.StartsOn.LessSeconds();

            var currentAssets = entity.Assets.ToList();

            for (var index = currentAssets.Count - 1; index >= 0; index--)
            {
                var asset = currentAssets[index];

                if (!dto.Assets.Any(tda => tda.AssetId == asset.AssetId))
                {
                    Context.ScheduleAssets.Remove(asset);
                }
            }

            foreach (var asset in dto.Assets)
            {
                var existingAsset = Context.Assets.FirstOrDefault(a => a.Id == asset.AssetId);

                if (existingAsset != null)
                {
                    if (!entity.Assets.Any(tda => tda.AssetId == asset.AssetId))
                    {
                        entity.Assets.Add(new Data.Model.ScheduleAsset()
                        {
                            AssetId             = asset.AssetId,
                            ScheduleAssetTypeId = asset.ScheduleAssetTypeId
                        });
                    }
                }
            }

            var currentUsers = entity.Users.ToList();

            for (var index = currentUsers.Count - 1; index >= 0; index--)
            {
                var user = currentUsers[index];

                if (!dto.Users.Any(tdu => tdu.UserId == user.UserId))
                {
                    Context.ScheduleUsers.Remove(user);
                }
            }

            foreach (var user in dto.Users)
            {
                var existingUser = Context.Users.FirstOrDefault(a => a.Id == user.UserId);

                if (existingUser != null)
                {
                    if (!entity.Users.Any(tdu => tdu.UserId == user.UserId))
                    {
                        entity.Users.Add(new Data.Model.ScheduleUser()
                        {
                            UserId             = user.UserId,
                            ScheduleUserTypeId = user.ScheduleUserTypeId
                        });
                    }
                }
            }
        }
示例#10
0
 /// <summary>
 /// Create a new <see cref="Altask.www.Models.TaskInstance"/> from a <see cref="Altask.Data.Model.Schedule"/>.
 /// </summary>
 /// <param name="task"></param>
 /// <param name="date"></param>
 /// <param name="schedule"></param>
 /// <returns></returns>
 public static TaskInstance FromSchedule(Data.Model.Task task, DateTime date, Data.Model.Schedule schedule)
 {
     return(FromSchedule(task.ToDto(), date, schedule.ToDto()));
 }