예제 #1
0
        public RequestDetailsViewModel Get(int id)
        {
            string userId  = this.userManager.GetUserId(User); // gets the user id from the jwt token
            var    request = this.requestsService.ById(id, userId, true)
                             .Include(r => r.Requester)
                             .Include(r => r.Status)
                             .Include(r => r.Category)
                             .FirstOrDefault();
            //if (request == null)
            //{
            //    return NotFound();
            //}
            //return Ok(request);
            var result = new RequestDetailsViewModel
            {
                Id          = request.Id,
                Subject     = request.Subject,
                CreatedOn   = request.StartTime.ToShortDateString(),
                Description = request.Description,
                Author      = new UserDetailsViewModel
                {
                    FullName = request.Requester.FullName
                },
                Status   = request.Status.Name,
                Category = request.Category.Name
            };

            return(result);
        }
예제 #2
0
        public IActionResult Details(string id)
        {
            RequestDetailsViewModel model = this.requestsService.GetSingleRequestById(id);

            model.ImagesUrls = this.imagesService.GetFirstFiveImagesByRequestId(id);

            return(this.View(model));
        }
예제 #3
0
        public async Task <IActionResult> RequestReviewDetails(RequestDetailsViewModel model)
        {
            await this.requestsService.ChangeRequestStatusAsync(model.Id, model.Status);

            model.ImagesUrls = this.imagesService.GetFirstFiveImagesByRequestId(model.Id);

            return(this.View(model));
        }
        // GET
        public ActionResult Details(int id)
        {
            var request = requestService.GetById(id);

            if (request == null)
            {
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                RequestDetailsViewModel requestDetails = requestMapper.MapTo(request);
                return(View(requestDetails));
            }
        }
예제 #5
0
        public async Task <IActionResult> PendingRequestDetails(int id)
        {
            var request = await _context.Request.FindAsync(id);

            if (request == null)
            {
                return(NotFound());
            }

            var requestType = await _context.RequestType.FindAsync(request.IdRequestType);

            var requestStatus = await _context.RequestStatus.FindAsync(request.IdRequestStatus);

            var user = await userManager.FindByIdAsync(request.IdEmployee);

            Employee manager;

            if (UserWithoutManagerCheck(user.Id))
            {
                manager = user;
            }
            else
            {
                manager = userManager.Users.First(e => e.Id == user.IdManager);
            }

            var absenceType = await _context.AbsenceType.FindAsync(request.AbsenceTypeRef);

            var availableAbsence = await _context.AvailableAbsence
                                   .Where(a => a.IdEmployee == request.IdEmployee)
                                   .ToListAsync();

            var overtime = _context.Overtime
                           .Where(a => a.IdEmployee == request.IdEmployee)
                           .OrderByDescending(a => a.ToBeSettledBefore)
                           .FirstOrDefault();

            var model = new RequestDetailsViewModel
            {
                Request          = request,
                RequestStatus    = requestStatus,
                RequestType      = requestType,
                Manager          = manager,
                AbsenceType      = absenceType,
                AvailableAbsence = availableAbsence,
                Overtime         = overtime
            };

            return(View(model));
        }
예제 #6
0
        public RequestDetailsViewModel GetSingleRequestById(string id)
        {
            var request = this.requestsRepository.All().FirstOrDefault(x => x.Id == id);

            var viewModel = new RequestDetailsViewModel()
            {
                Id                    = id,
                Name                  = request.Name,
                Type                  = request.Type.ToString(),
                Status                = request.Status.ToString(),
                Description           = request.Description,
                MoneyCreationPrice    = request.MoneyCreationPrice,
                DeeCoinsCreationPrice = request.DeeCoinsCreationPrice,
            };

            return(viewModel);
        }
        public IActionResult Details(string id)
        {
            if (int.TryParse(id, out _) == false)
            {
                return(BadRequest());
            }

            bool isTechnician = User.IsInRole(WebConstants.AdminRole) || User.IsInRole(WebConstants.HelpdeskRole);

            if (isTechnician)
            {
                return(this.Redirect($"/Management/Requests/Manage?id={id}"));
            }
            else
            {
                int    requestId = int.Parse(id);
                string userId    = this.userManager.GetUserId(User);

                RequestDetailsViewModel model = this.requestService.GetRequestDetails(requestId, userId)
                                                .FirstOrDefault();

                //If the request that the user is trying to access, is not his own, the model shall be null
                if (model == null)
                {
                    return(this.Forbid());
                }

                model.ApprovalModel = new ApprovalCreationViewModel
                {
                    RequestId = requestId,
                    Users     = this.userManager.Users.Select(u => new SelectListItem
                    {
                        Text  = u.FullName,
                        Value = u.Id
                    })
                };

                var requests = this.requestService.GetAll(userId, isTechnician).Where(r => r.Id != requestId)
                               .ProjectTo <RequestMergeListingViewModel>()
                               .ToArray();

                return(this.View(model));
            }
        }
 public IActionResult DetailsRequest(int?id)
 {
     if (id == null)
     {
         return(RedirectToAction(nameof(Requests)));
     }
     else
     {
         RequestDetailsViewModel req = requestDetailsMapper.MapTo(requestsManagementService.GetById((int)id));
         if (req != null)
         {
             return(View(req));
         }
         else
         {
             return(RedirectToAction(nameof(Requests)));
         }
     }
 }
예제 #9
0
        // GET: Requests/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }


            var request = await _context.Request
                          .Include(r => r.Category)
                          .Include(r => r.Person)
                          .FirstOrDefaultAsync(m => m.ID == id);

            var person = await _context.Person
                         .Include(p => p.Address)
                         .Include(p => p.Requests)
                         .FirstOrDefaultAsync(m => m.ID == request.PersonID);

            var address = await _context.Address
                          .Include(a => a.Persons)
                          .FirstOrDefaultAsync(m => m.ID == person.AddressID);

            var category = await _context.Category
                           .Include(c => c.Requests)
                           .FirstOrDefaultAsync(m => m.ID == request.CategoryID);

            RequestDetailsViewModel requestDetailsViewModel = new RequestDetailsViewModel()
            {
                Person   = person,
                Address  = address,
                Category = category,
                Request  = request
            };


            if (requestDetailsViewModel == null)
            {
                return(NotFound());
            }

            return(View(requestDetailsViewModel));
        }
        public RequestDetailPage(RequestViewModel request = null, int Status = 0)
        {
            InitializeComponent();

            viewModel = new RequestDetailsViewModel(request);

            BindingContext      = viewModel;
            _dateTimeRequestSet = DateTime.Now;
            switch (Status)
            {
            case 0:
                //Admin insert
                viewModel.insert = true;
                ToolbarItems.RemoveAt(1);
                ToolbarItems.RemoveAt(1);
                break;

            case 1:
                //User insert
                RequestDetails.Root.Remove(StatusEditor);
                RequestDetails.Root.Remove(UserSelectorSection);
                RequestDetails.Root.Remove(Duration_Slider);
                viewModel.insert = true;
                ToolbarItems.RemoveAt(1);
                ToolbarItems.RemoveAt(1);
                break;

            case 2:
                //Admin Edit
                viewModel.insert = false;

                break;

            case 3:
                //User Edit
                RequestDetails.Root.Remove(StatusEditor);
                RequestDetails.Root.Remove(Duration_Slider);
                RequestDetails.Root.Remove(UserSelectorSection);
                viewModel.insert = false;
                break;
            }
        }
예제 #11
0
        public async Task <IActionResult> DetailsAsync(string id)
        {
            var requestModel = await this.requestService.GetRequestDetailsAsync(id);

            var viewModel = new RequestDetailsViewModel
            {
                Id            = requestModel.Id,
                Date          = requestModel.Date,
                UserFirstName = requestModel.UserFirstName,
                UserLastName  = requestModel.UserLastName,
                Email         = requestModel.Email,
                Phone         = requestModel.Phone,
                RequestType   = requestModel.RequestType,
                Status        = requestModel.Status,
                Message       = requestModel.Message,
                About         = requestModel.About,
                Document      = requestModel.Document,
                HomeInfo      = requestModel.HomeInfo,
            };

            return(this.View(viewModel));
        }
 public PushChatPagesCommand(RequestDetailsViewModel ViewModel)
 {
     viewModel = ViewModel;
 }
예제 #13
0
 public SetDateCommand(RequestDetailsViewModel ViewModel)
 {
     viewModel = ViewModel;
 }
 public SaveOrUpdateCommand(RequestDetailsViewModel ViewModel)
 {
     viewModel = ViewModel;
 }
예제 #15
0
 public DeleteCommand(RequestDetailsViewModel detailsViewModel)
 {
     viewModel = detailsViewModel;
 }
예제 #16
0
        public RequestDetailsViewModel RequestDetails(int id, int uid)
        {
            using (var context = new ApplicationContext())
            {
                var request = context.Requests
                              .Where(x => x.Id == id && x.UserId == uid).SingleOrDefault();

                if (request == null)
                {
                    return(null);
                }

                var detailViewModel = new DetailViewModel
                {
                    Id           = request.Id,
                    CategoryId   = request.Category.Id,
                    CategoryName = request.Category.Name,
                    Title        = request.Title,
                    Subtitle     = request.Subtitle,
                    Description  = request.Description,
                    DateDue      = request.DateDue,
                    Keywords     = request.Keywords,
                    VideoURL     = request.VideoURL,
                    Progress     = request.Progress,
                    Items        = new List <RequestItemViewModel>()
                };

                foreach (var item in request.Items)
                {
                    detailViewModel.Items.Add(new RequestItemViewModel
                    {
                        Id       = item.Id,
                        Title    = item.Title,
                        Detail   = item.Detail,
                        Type     = item.Type,
                        Quantity = item.Quantity
                    });
                }
                ;

                var responses = context.Responses
                                .Where(x => x.Request.Id == id)
                                .Select(x => new ResponseViewModel
                {
                    Id          = x.Id,
                    Description = x.Description
                                  //  ,
                                  //Items = new List<ResponseItemViewModel>()
                }).ToList();

                foreach (var r in responses)
                {
                    var resI = context.ResponseItems.Where(y => y.Response.Id == r.Id).SingleOrDefault();
                    r.Items = new List <ResponseItemViewModel>();

                    r.Items.Add(new ResponseItemViewModel
                    {
                        RequestItemId = resI.RequestItem.Id,
                        Quantity      = resI.Quantity
                    });
                }
                ;


                var requestDetailsViewModel = new RequestDetailsViewModel
                {
                    Request   = detailViewModel,
                    Responses = responses
                };



                return(requestDetailsViewModel);
            }
        }
예제 #17
0
 public RequestDetailsPage(int id)
 {
     InitializeComponent();
     BindingContext = model = new RequestDetailsViewModel();
     model.Id       = id;
 }
 public FilePickerCommand(RequestDetailsViewModel ViewModel)
 {
     viewModel = ViewModel;
 }
        //Get Request Details

        //public ActionResult RequestDetails(int id, int uid)
        //{

        //    //var userId = User.Identity.GetUserId<int>();
        //    ViewBag.uid = uid;
        //    var viewModel = donationBLO.RequestDetails(id, uid);

        //    return View(viewModel);
        //}



        public async Task <ActionResult> RequestDetails(int id, int uid)
        {
            ViewBag.uid = uid;
            using (var context = new ApplicationContext())
            {
                var request = context.Requests
                              .Where(x => x.Id == id && x.UserId == uid).SingleOrDefault();

                if (request == null)
                {
                    return(null);
                }

                var detailViewModel = new DetailViewModel
                {
                    Id           = request.Id,
                    CategoryId   = request.Category.Id,
                    CategoryName = request.Category.Name,
                    Title        = request.Title,
                    Subtitle     = request.Subtitle,
                    Description  = request.Description,
                    DateDue      = request.DateDue,
                    Keywords     = request.Keywords,
                    VideoURL     = request.VideoURL,
                    Progress     = request.Progress,
                    Items        = new List <RequestItemViewModel>()
                };

                foreach (var item in request.Items)
                {
                    detailViewModel.Items.Add(new RequestItemViewModel
                    {
                        Id       = item.Id,
                        Title    = item.Title,
                        Detail   = item.Detail,
                        Type     = item.Type,
                        Quantity = item.Quantity
                    });
                }
                ;

                var responses = context.Responses
                                .Where(x => x.Request.Id == id)
                                .Select(x => new ResponseUserViewModel
                {
                    Id          = x.Id,
                    Description = x.Description,
                    userId      = x.UserId,
                    DateCreated = x.DateCreated
                                  // userName = identityC.Users.Where(u => u.Id == x.UserId).SingleOrDefault().;
                }).ToList();

                foreach (var r in responses)
                {
                    var resI = context.ResponseItems.Where(y => y.Response.Id == r.Id).ToList();
                    r.Items    = new List <ResponseItemViewModel>();
                    r.userName = new string(new char[] { });
                    var userId = r.userId;
                    var user   = await UserManager.FindByIdAsync(userId);

                    System.Diagnostics.Debug.WriteLine(user);
                    if (user == null)
                    {
                        r.userName = "******";
                    }
                    else
                    {
                        r.userName = user.UserName;
                    }

                    foreach (var item in resI)
                    {
                        r.Items.Add(new ResponseItemViewModel
                        {
                            RequestItemName = item.RequestItem.Title,
                            Quantity        = item.Quantity
                        });
                    }
                }
                ;

                var requestDetailsViewModel = new RequestDetailsViewModel
                {
                    Request   = detailViewModel,
                    Responses = responses
                };


                return(View(requestDetailsViewModel));
            }
        }