public MaintenanceRequestEditViewModel(MaintenanceRequest request, Lookups lookups)
        {
            var usr = LoginHelper.GetLoggedInUser();

            this.Request = request ?? new MaintenanceRequest()
            {
                IsAddressed              = false,
                RequestDate              = DateTime.Now,
                RequestedById            = usr.User.UserIdValue,
                MaintenanceRequestImages = new ObservableCollection <MaintenanceRequestImage>(),
                MaintenanceRequestReplys = new ObservableCollection <MaintenanceRequestReply>()
            };
            this.HasReplies = this.Request.MaintenanceRequestReplys.Any();
            this.Users      = new ObservableCollection <User>();
            this.Assignees  = new ObservableCollection <User>();
            lookups.Users.ForEach(u => this.Users.Add(u));
            lookups.Users.FindAll(u => u.Roles != null && u.Roles.IndexOf((int)Constants.ROLE.MAINTENANCE_REQUESTS) >= 0).ForEach(u => this.Assignees.Add(u));
            if (this.Request.AssignedToId != null)
            {
                this.Request.AssignedTo = this.Users.FirstOrDefault(u => u.UserIdValue == this.Request.AssignedToIdValue);
            }
            if (this.Request.RequestedById != null)
            {
                this.Request.RequestedBy = this.Users.FirstOrDefault(u => u.UserIdValue == this.Request.RequestedByIdValue);
            }
            this.SaveCommand       = new Command(async() => await this.saveRequest());
            this.LoadImagesCommand = new Command(async() => await this.loadImages());
            this.ReplyCommand      = new Command(async() => await this.addReply());
            this.ImagesViewModel   = new MaintenanceRequestImagesViewViewModel(true);
            this.NewReplies        = new List <MaintenanceRequestReply>();
        }
Esempio n. 2
0
 public MaintenanceRequestImagesViewModel(MaintenanceRequest request)
 {
     this.Request           = request;
     ImagesViewModel        = new MaintenanceRequestImagesViewViewModel(false);
     this.LoadImagesCommand = new Command(async() => await this.loadImages());
 }