예제 #1
0
        public JsonResult UpdateWorkflowAll(DateTime month, string propertyCode, int state, int direction)
        {
            RevenueApprovalStatus workflowState = (RevenueApprovalStatus)state;

            if (!((AuthorizationProvider.CanReviewRevenue() && workflowState == RevenueApprovalStatus.Reviewed) ||
                  (AuthorizationProvider.CanApproveRevenue() && workflowState == RevenueApprovalStatus.Approved) ||
                  (AuthorizationProvider.CanFinalizeRevenue() && workflowState == RevenueApprovalStatus.Finalized)))
            {
                return(Forbidden());
            }

            try
            {
                var dataProvider = new ExpenseRevenueProvider(_dbContext);
                var nextState    = dataProvider.MoveWorkflowAll(month, propertyCode, workflowState, direction);

                if (nextState != null)
                {
                    return(Json(nextState, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("-1", JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                string message = string.Format("Change {0} Expense workflow fails for property {1}. {2}", month.ToString("MM/dd/yyyy"), propertyCode, ex.Message + ex.StackTrace);
                return(InternalError(message, "-1", ex));
            }
        }
예제 #2
0
        public ActionResult Index()
        {
            if (!AuthorizationProvider.CanViewRevenue())
            {
                return(Forbidden());
            }

            ViewBag.ReviewerClass  = AuthorizationProvider.CanReviewRevenue() ? "revenue-grid-reviewer" : string.Empty;
            ViewBag.ApproverClass  = AuthorizationProvider.CanApproveRevenue() ? "revenue-grid-approver" : string.Empty;
            ViewBag.FinalizerClass = AuthorizationProvider.CanFinalizeRevenue() ? "revenue-grid-finalizer" : string.Empty;
            ViewBag.EditClass      = AuthorizationProvider.CanEditRevenue() ? string.Empty : " revenue-field-readonly";
            ViewBag.AdminClass     = AuthorizationProvider.IsRevenueAdmin() ? "revenue-grid-remover" : string.Empty;

            return(View());
        }
예제 #3
0
        public ActionResult Index()
        {
            if (!AuthorizationProvider.CanEditStatement())
            {
                return(Forbidden());
            }

            ViewBag.ReviewerClass      = AuthorizationProvider.CanReviewRevenue() ? "revenue-grid-reviewer" : string.Empty;
            ViewBag.ApproverClass      = AuthorizationProvider.CanApproveRevenue() ? "revenue-grid-approver" : string.Empty;
            ViewBag.FinalizerClass     = AuthorizationProvider.CanFinalizeRevenue() ? "revenue-grid-finalizer" : string.Empty;
            ViewBag.EditClass          = AuthorizationProvider.CanEditStatement() ? string.Empty : " revenue-field-readonly";
            ViewBag.AdminClass         = AuthorizationProvider.IsRevenueAdmin() ? "revenue-grid-remover" : string.Empty;
            ViewBag.CanFreezeEditing   = AuthorizationProvider.CanFreezeEditing() ? true : false;
            ViewBag.StatementCompleted = (new StatementCompletionProvider(_dbContext)).IsCompleted(DateTime.Today);

            return(View());
        }
예제 #4
0
        public JsonResult UpdateWorkflow(int id, int state, int direction)
        {
            if (!AuthorizationProvider.CanEditRevenue())
            {
                return(Forbidden());
            }

            RevenueApprovalStatus workflowState = (RevenueApprovalStatus)state;

            if (!((AuthorizationProvider.CanReviewRevenue() && workflowState == RevenueApprovalStatus.Reviewed) ||
                  (AuthorizationProvider.CanApproveRevenue() && workflowState == RevenueApprovalStatus.Approved) ||
                  (AuthorizationProvider.CanFinalizeRevenue() && workflowState == RevenueApprovalStatus.Finalized)))
            {
                return(Forbidden());
            }

            try
            {
                var dataProvider = new OtherRevenueProvider(_dbContext);
                RevenueApprovalStatus?nextState = null;
                if (direction > 0)
                {
                    nextState = dataProvider.MoveWorkflow(id, workflowState);
                }
                else
                {
                    nextState = dataProvider.BacktrackWorkflow(id, workflowState);
                }

                if (nextState != null)
                {
                    return(Json(nextState, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("-1", JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                string message = string.Format("Change Other Expense {0} workflow fails. {1}", id.ToString(), ex.Message + ex.StackTrace);
                return(InternalError(message, "-1", ex));
            }
        }
예제 #5
0
        public ActionResult OwnerPayoutView(DateTime month, string source, int ownerPayoutId)
        {
            if (!AuthorizationProvider.CanViewRevenue())
            {
                return(Forbidden());
            }

            ViewBag.ReviewerClass  = AuthorizationProvider.CanReviewRevenue() ? "revenue-grid-reviewer" : string.Empty;
            ViewBag.ApproverClass  = AuthorizationProvider.CanApproveRevenue() ? "revenue-grid-approver" : string.Empty;
            ViewBag.FinalizerClass = AuthorizationProvider.CanFinalizeRevenue() ? "revenue-grid-finalizer" : string.Empty;
            ViewBag.EditClass      = AuthorizationProvider.CanEditRevenue() ? string.Empty : " revenue-field-readonly";
            ViewBag.AdminClass     = AuthorizationProvider.IsRevenueAdmin() ? "revenue-grid-remover" : string.Empty;

            var model = new ReservationRevenueModel();

            model.Month         = month;
            model.Source        = source;
            model.OwnerPayoutId = ownerPayoutId;

            return(View(model));
        }