public ActionResult Create([Bind(Include = "Id,RequisitionId,Reason")] CancelRequisitionViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (model.Reason != null)
                    {
                        var status = _requisitionStatusManager.FindByRequisitionId((int)model.RequisitionId);
                        model.RequisitionStatusId = status.Id;
                        model.RequisitionNumber   = status.RequisitionNumber;

                        status.StatusType = "Cancelled";
                        bool IsSaved = _requisitionStatusManager.Update(status);
                        if (IsSaved)
                        {
                            CancelRequisition cancelRequisition = Mapper.Map <CancelRequisition>(model);
                            _cancelRequisitionManager.Add(cancelRequisition);
                        }
                        //Notifaication status change after assign requisition
                        Notification notificationUpdate = _notificationManager.FindByRequisitionId(status.RequisitionId);
                        if (notificationUpdate != null)
                        {
                            notificationUpdate.ControllerViewStatus = "Seen";
                            notificationUpdate.SenderViewStatus     = "Unseen";
                            notificationUpdate.SenderText           = "Your requisition has been canceled.";
                            notificationUpdate.SenderNotifyDateTime = DateTime.Now;
                            var updateResult = _notificationManager.Update(notificationUpdate);
                        }
                        return(RedirectToAction("Index"));
                    }
                    if (model.Reason.IsNullOrWhiteSpace())
                    {
                        return(View("Error"));
                    }
                }
                return(View());
            }
            catch (Exception ex)
            {
                ExceptionMessage(ex);
                return(View("Error", new HandleErrorInfo(ex, "AssignRequisitions", "Requests")));
            }
        }
        public ActionResult Create(int requisitionId)
        {
            try
            {
                if (requisitionId == 0)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                RequisitionStatus requisition = _requisitionStatusManager.FindById(requisitionId);

                if (requisition == null)
                {
                    return(HttpNotFound());
                }
                CancelRequisitionViewModel cancelRequisitionViewModel = new CancelRequisitionViewModel();
                cancelRequisitionViewModel.RequisitionStatus = Mapper.Map <RequisitionStatus>(requisition);
                return(View(cancelRequisitionViewModel));
            }
            catch (Exception ex)
            {
                ExceptionMessage(ex);
                return(View("Error", new HandleErrorInfo(ex, "CancelRequisition", "Create")));
            }
        }
        // GET: CancelRequisitionViewModels/Details/5
        public ActionResult Details(int?id)
        {
            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                CancelRequisition cancelRequisition = _cancelRequisitionManager.FindById((int)id);

                if (cancelRequisition == null)
                {
                    return(HttpNotFound());
                }
                CancelRequisitionViewModel cancelRequisitionViewModel =
                    Mapper.Map <CancelRequisitionViewModel>(cancelRequisition);
                return(View(cancelRequisitionViewModel));
            }
            catch (Exception ex)
            {
                ExceptionMessage(ex);
                return(View("Error", new HandleErrorInfo(ex, "CancelRequisition", "Details")));
            }
        }