public ActionResult AddMyExpense(ExpenseViewModel expenseViewModel) { if (ModelState.IsValid) { ExpenseMembers expenseMembers = new ExpenseMembers { Description = expenseViewModel.Description, BudgetCategory = expenseViewModel.SelectedBudget, SelectedGroupId = expenseViewModel.SelectedGroupId.ToList(), SpentAmount = expenseViewModel.SpentAmount.Value, SpentBy = expenseViewModel.SpentBy, SpentOn = expenseViewModel.FormattedSpentDate, IncludedUsers = expenseViewModel.IncludedUsers != null?expenseViewModel.IncludedUsers.ToList() : new List <string>(), ExcludedUsers = expenseViewModel.ExcludedUsers != null?expenseViewModel.ExcludedUsers.ToList() : new List <string>(), CreatedBy = SessionUserId }; expenseRepository.AddExpense(expenseMembers); return(RedirectToAction("AddMyExpense")); } else { DataSet expenseDetailsDataSet = expenseRepository.GetExpenseLookUp(); expenseViewModel.Users = expenseDetailsDataSet.Tables[0].LoadLookUps <string, int>(); expenseViewModel.UserGroups = expenseDetailsDataSet.Tables[1].LoadLookUps <string, int>(); expenseViewModel.BudgetCategories = expenseDetailsDataSet.Tables[2].LoadLookUps <string, int>(); expenseViewModel.SpentByUsers = expenseDetailsDataSet.Tables[0].LoadLookUps <string, string>(SessionUserId); ModelState.AddModelError("", "Error saving your expense."); return(View("AddMyExpense", expenseViewModel)); } }
/// <summary> /// Add Expense /// </summary> /// <param name="expenseSaveData">Expense Save Data</param> public void AddExpense(ExpenseMembers expenseSaveData) { SqlCommand objSqlCmd = new SqlCommand(); objSqlCmd.CommandType = CommandType.StoredProcedure; objSqlCmd.Parameters.Add("@Description", SqlDbType.NVarChar).Value = expenseSaveData.Description; objSqlCmd.Parameters.Add("@BudgetCategoryId", SqlDbType.Int).Value = expenseSaveData.BudgetCategory; objSqlCmd.Parameters.Add("@SpentOn", SqlDbType.DateTime).Value = expenseSaveData.SpentOn; objSqlCmd.Parameters.Add("@SpentBy", SqlDbType.Text).Value = expenseSaveData.SpentBy; objSqlCmd.Parameters.Add("@SpentAmount", SqlDbType.Money).Value = expenseSaveData.SpentAmount; objSqlCmd.Parameters.Add("@GroupIds", SqlDbType.Structured).Value = StructuredParameterHelper.ListToDataTableConverter <string>(expenseSaveData.SelectedGroupId, "Groups", "GroupID"); objSqlCmd.Parameters.Add("@UserIds", SqlDbType.Structured).Value = StructuredParameterHelper.ListToDataTableConverter <string>(expenseSaveData.ExcludedUsers, "Users", "UserId"); objSqlCmd.Parameters.Add("@CreatedBy", SqlDbType.VarChar).Value = expenseSaveData.CreatedBy; objSqlCmd.Parameters.Add("@CompanyId", SqlDbType.Int).Value = userSession.CompanyId; DataLibrary.ExecuteProcedureWithDefinedParameters(objSqlCmd, "bspAddExpenses"); }