public JsonResult Delete(string model) { if (!AuthorizationProvider.CanEditRevenue()) { return(Forbidden()); } // parameter is passed in as a model with Json string var entity = JsonConvert.DeserializeObject <ExpenseRevenueModel>(model); try { if (entity.Children.Count == 0) { var dataProvider = new ExpenseRevenueProvider(_dbContext); dataProvider.Delete(entity.ExpenseId); dataProvider.Commit(); } return(Json("success", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(InternalError(string.Format("Delete Expense {0:d} fails.", entity.ExpenseId), "fail", ex)); } }
public JsonResult Create(string model) { if (!AuthorizationProvider.CanEditRevenue()) { return(Forbidden()); } var entity = JsonConvert.DeserializeObject <ExpenseRevenueModel>(model); try { // parameter is passed in as a model with Json string var dataProvider = new ExpenseRevenueProvider(_dbContext); dataProvider.Create(entity); dataProvider.Commit(); if (entity.ExpenseId == 0) { entity.ExpenseId = dataProvider.GetKey(entity); } entity.ParentId = entity.ExpenseId; dataProvider.Update(entity.ExpenseId, entity); dataProvider.Commit(); return(Json(entity, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty; string message = string.Format("Saving Expense {0:d} fails. {1} - {2}", entity.ExpenseId, ex.Message, innerErrorMessage); return(InternalError(message, string.Empty)); } }
public JsonResult UpdateFieldStatus(int id, string field, int included) { if (!AuthorizationProvider.CanEditRevenue()) { return(Forbidden()); } try { var provider = new ExpenseRevenueProvider(_dbContext); var ok = provider.SetFieldStatus(id, field, (included == 1 ? true : false)); if (ok) { return(Json(id, JsonRequestBehavior.AllowGet)); } else { return(Json(string.Empty, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { string message = string.Format("Change Expense 'IncludeInStatement' for ID = {0:d} fails. {1}", id, ex.Message + ex.StackTrace); return(InternalError(message, string.Empty, ex)); } }
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)); } }
public JsonResult GetConfirmationCodeList(DateTime month, string propertyCode) { if (!AuthorizationProvider.CanViewRevenue()) { return(Forbidden()); } var provider = new ExpenseRevenueProvider(_dbContext); var data = provider.GetConfirmationCodeList(month, propertyCode); return(Json(data, JsonRequestBehavior.AllowGet)); }
public JsonResult Retrieve(DateTime month, string propertyCode) { if (!AuthorizationProvider.CanViewRevenue()) { return(Forbidden()); } var provider = new ExpenseRevenueProvider(_dbContext); var view = provider.Retrieve(month, propertyCode); return(Json(view, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateCombinedExpense(int sourceId, int targetId) { if (!AuthorizationProvider.CanEditRevenue()) { return(Forbidden()); } try { var dataProvider = new ExpenseRevenueProvider(_dbContext); var id = dataProvider.UpdateCombinedExpense(sourceId, targetId); return(Json(id, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty; string message = string.Format("Combine Expense {0:d} into {1:d} fails. {2} - {3}", sourceId, targetId, ex.Message, innerErrorMessage); return(InternalError(message, "-1", ex)); } }
public JsonResult UpdateWorkflow(int id, 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); 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 Reservation {0} workflow fails. {1}", id.ToString(), ex.Message + ex.StackTrace); return(InternalError(message, "-1", ex)); } }