public ActionResult Edit(LessonSessionsModel modifiedModel, string FILTER_Keyword, string FILTER_InvoiceNo, int?FILTER_Cancelled, bool?FILTER_chkDateFrom, DateTime?FILTER_DateFrom, bool?FILTER_chkDateTo, DateTime?FILTER_DateTo) { if (ModelState.IsValid) { LessonSessionsModel originalModel = get(modifiedModel.Id); //without the specified access, some fields are excluded in edit form resulting in no value. Copy values from original model if (!UserAccountsController.getUserAccess(Session).LessonSessions_Edit) { modifiedModel.HourlyRates_Rate = originalModel.HourlyRates_Rate; modifiedModel.TravelCost = originalModel.TravelCost; modifiedModel.TutorTravelCost = originalModel.TutorTravelCost; } string log = string.Empty; log = Helper.append(log, originalModel.HourlyRates_Rate, modifiedModel.HourlyRates_Rate, LessonSessionsModel.COL_HourlyRates_Rate.LogDisplay); log = Helper.append(log, originalModel.TravelCost, modifiedModel.TravelCost, LessonSessionsModel.COL_TravelCost.LogDisplay); log = Helper.append(log, originalModel.TutorTravelCost, modifiedModel.TutorTravelCost, LessonSessionsModel.COL_TutorTravelCost.LogDisplay); log = Helper.append(log, originalModel.Review, modifiedModel.Review, LessonSessionsModel.COL_Review.LogDisplay); log = Helper.append(log, originalModel.InternalNotes, modifiedModel.InternalNotes, LessonSessionsModel.COL_InternalNotes.LogDisplay); if (!string.IsNullOrEmpty(log)) { update(modifiedModel, log); //update payrollitem if rate or travel cost is changed //Tutor Travel Cost is not currently checked against total travel cost amount paid by customer. This edit may cause cost to exceed amount paid by customer. PayrollPaymentItemsModel payrollPaymentItem = PayrollPaymentItemsController.get(Session, originalModel.PayrollPaymentItems_Id); //this is necessary for payrollpaymentitems that has multiple lessonsessions (class) payrollPaymentItem.HourlyRate += (modifiedModel.HourlyRates_Rate - originalModel.HourlyRates_Rate); payrollPaymentItem.TutorTravelCost += (modifiedModel.TutorTravelCost - originalModel.TutorTravelCost); payrollPaymentItem.Amount = PayrollPaymentItemsController.calculateAmount(originalModel.IsWaiveTutorFee, payrollPaymentItem.Hour, payrollPaymentItem.HourlyRate, modifiedModel.TutorTravelCost); PayrollPaymentItemsController.update(db, Session, payrollPaymentItem); } return(RedirectToAction(nameof(Index), new { FILTER_Keyword = FILTER_Keyword, FILTER_InvoiceNo = FILTER_InvoiceNo, FILTER_Cancelled = FILTER_Cancelled, FILTER_chkDateFrom = FILTER_chkDateFrom, FILTER_DateFrom = FILTER_DateFrom, FILTER_chkDateTo = FILTER_chkDateTo, FILTER_DateTo = FILTER_DateTo })); } setViewBag(FILTER_Keyword, FILTER_InvoiceNo, FILTER_Cancelled, FILTER_chkDateFrom, FILTER_DateFrom, FILTER_chkDateTo, FILTER_DateTo); return(View(modifiedModel)); }
public static void add(PayrollPaymentItemsModel model) { WebDBConnection.Insert(new DBContext().Database, "PayrollPaymentItems", DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Id.Name, model.Id), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_PayrollPayments_Id.Name, model.PayrollPayments_Id), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Timestamp.Name, model.Timestamp), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Description.Name, model.Description), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Hour.Name, model.Hour), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_HourlyRate.Name, model.HourlyRate), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_TutorTravelCost.Name, model.TutorTravelCost), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Amount.Name, model.Amount), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_UserAccounts_Id.Name, model.UserAccounts_Id), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_CancelNotes.Name, model.CancelNotes), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Branches_Id.Name, model.Branches_Id), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_IsFullTime.Name, model.IsFullTime) ); }
public static void update(DBContext db, HttpSessionStateBase Session, PayrollPaymentItemsModel model) { PayrollPaymentItemsModel originalModel = get(Session, model.Id); string log = string.Empty; log = Helper.append(log, originalModel.HourlyRate, model.HourlyRate, PayrollPaymentItemsModel.COL_HourlyRate.LogDisplay); log = Helper.append(log, originalModel.TutorTravelCost, model.TutorTravelCost, PayrollPaymentItemsModel.COL_TutorTravelCost.LogDisplay); log = Helper.append(log, originalModel.Amount, model.Amount, PayrollPaymentItemsModel.COL_Amount.LogDisplay); if (!string.IsNullOrEmpty(log)) { WebDBConnection.Update(db.Database, "PayrollPaymentItems", DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Id.Name, model.Id), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_HourlyRate.Name, model.HourlyRate), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_TutorTravelCost.Name, model.TutorTravelCost), DBConnection.getSqlParameter(PayrollPaymentItemsModel.COL_Amount.Name, model.Amount) ); ActivityLogsController.AddEditLog(db, Session, model.Id, log); db.SaveChanges(); } }