示例#1
0
        public RequestPO MapDOtoPO(RequestDO requestDO)
        {
            RequestPO requestPO = new RequestPO();

            requestPO.RequestID   = requestDO.RequestID;
            requestPO.RequestText = requestDO.RequestText;
            requestPO.Username    = requestDO.Username;
            requestPO.Date        = requestDO.Date;
            return(requestPO);
        }
示例#2
0
        public ActionResult CreateRequest(RequestPO requestPO)
        {
            ActionResult response;

            //check if logged in
            if (Session["RoleID"] != null)
            {
                //if logged in, check the model state
                try
                {
                    //check model
                    if (ModelState.IsValid)
                    {
                        //if model is valid, get user information for username
                        UserDO user = _UserDataAccess.ViewUserByID((int)Session["UserID"]);

                        //map from view model to a DO
                        RequestDO request = new RequestDO()
                        {
                            RequestText = requestPO.RequestText,
                            Username    = user.Username,
                            Date        = DateTime.Now.ToString(),
                        };

                        //access database
                        _RequestDataAccess.CreateRequest(request);

                        //show confirmation screen
                        response = RedirectToAction("RequestSubmitted", "Request");
                    }
                    else
                    {
                        //if model is not valid, return to form
                        response = View(requestPO);
                    }
                }
                catch (Exception ex)
                {
                    //log error
                    _Logger.ErrorLog(MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name, ex);
                    response = View(requestPO);
                }
                finally { }
            }
            else
            {
                //if not logged in, redirect to login page
                response = RedirectToAction("Login", "Account");
            }

            return(response);
        }
示例#3
0
        /// <summary>
        /// Displays the information for one specific request
        /// </summary>
        /// <param name="id">ID of the request needing to be displayed</param>
        /// <returns>Returns a result based on status</returns>
        public ActionResult RequestDetails(int id)
        {
            ActionResult response;

            //check for admin
            if (Session["RoleID"] != null && (int)Session["RoleID"] == 6)
            {
                //if user is an admin, check id
                if (id > 0)
                {
                    //if id is valid, access database
                    try
                    {
                        //access database, map to view model
                        RequestDO requestDO = _RequestDataAccess.ViewRequestByID(id);

                        RequestPO requestPO = _RequestMapper.MapDOtoPO(requestDO);

                        response = View(requestPO);
                    }
                    catch (Exception ex)
                    {
                        //log error
                        _Logger.ErrorLog(MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name, ex);
                        response = RedirectToAction("Error", "Home");
                    }
                    finally { }
                }
                else
                {
                    //if id is not valid, return to list of requests
                    response = RedirectToAction("Index", "Request");
                }
            }
            else
            {
                //if user is not an admin, redirect to login page
                response = RedirectToAction("Login", "Account");
            }

            return(response);
        }