public async Task <IActionResult> Create(DonationEventInputModel viewModel, RequestInfoViewModel model)
        {
            var userDonorId = this.userManager.GetUserId(this.User);

            var hospitalDataId = model.HospitalDataId != null ? model.HospitalDataId : viewModel.HospitalId;

            if (hospitalDataId == null)
            {
                return(this.RedirectToAction("HttpStatusCodeHandler", "Error", this.NotFound()));
            }

            double       neededQuantity = model.NeededQuantity;
            double       quantity       = viewModel.Quantity;
            BloodGroup   bloodGroup     = viewModel.BloodGroup;
            RhesusFactor rhesusFactor   = viewModel.RhesusFactor;

            await this.donationEventsService
            .CreateDonation(
                hospitalDataId,
                userDonorId,
                neededQuantity,
                quantity,
                bloodGroup,
                rhesusFactor);

            return(this.RedirectToAction("QAndA", "Home"));
        }
        public IActionResult Create(string requestId, RequestInfoViewModel viewModel)
        {
            viewModel = this.requestsService.GetById <RequestInfoViewModel>(requestId);

            if (viewModel == null)
            {
                return(this.RedirectToAction("HttpStatusCodeHandler", "Error", this.NotFound()));
            }

            return(this.View(viewModel));
        }
        public ViewResult RequestInfo(int requestID, string currentTrackID)
        {
            var answers = request.Answers.Where(a => a.requestID == requestID);
            IEnumerable <Models.Attachment> attachments       = request.Attachments.Where(a => a.requestID == requestID);
            IEnumerable <Staff>             staff             = request.Staffs;
            IEnumerable <RequestAssignment> requestAssignment = request.RequestAssignments.Where(r => r.requestID == requestID);

            List <AnswerListViewModel> myAnswerList = new List <AnswerListViewModel>();


            foreach (var answer in answers)
            {
                var question = request.Questions.FirstOrDefault(q => q.questionID == answer.QuestionID);

                if (question != null)
                {
                    AnswerListViewModel list = new AnswerListViewModel
                    {
                        answer   = answer,
                        question = question.Question1
                    };

                    myAnswerList.Add(list);
                }
            }

            var currentRequst = request.Requests.FirstOrDefault(r => r.reuqestID == requestID);

            RequestInfoViewModel requestList = new RequestInfoViewModel
            {
                answerList  = myAnswerList,
                attachment  = attachments,
                request     = currentRequst,
                staff       = staff,
                assignments = requestAssignment,
                category    = request.Categories.FirstOrDefault(c => c.categoryID == currentRequst.categoryID),
                cateogires  = request.Categories,
                location    = request.Locations
            };

            return(View(requestList));
        }