public DryBoxAssignmentInfo UpdateDryBoxAssignment(int dryBoxAssignmentId, DryBoxAssignmentUpdate update) { var dba = Require <DryBoxAssignment>(dryBoxAssignmentId); var modifiedBy = Require <Client>(update.ModifiedByClientID); var db = Require <DryBox>(dba.DryBoxID); var ca = Require <ClientAccount>(update.ClientAccountID); //always save the new ClientAccount dba.ClientAccountID = update.ClientAccountID; //whenever staff updates, make PendingApproval false to clear any removal request dba.PendingRemoval = false; dba.Rejected = false; if (dba.PendingApproval) { // only an approver should be able to modify, the user can only cancel // pendingApproval = true means the approver changed the account and then clicked the Approve button // this handles the log and also does a SaveOrUpdate on the dba ApproveDryBoxAssignment(dba, ca, modifiedBy); } else { SaveOrUpdateAssignment(dba); UpdateLog(dba, ca, modifiedBy); } return(CreateDryBoxAssignmentInfo(dba, db, ca)); }
public DryBoxAssignmentInfo Approve(int dryBoxAssignmentId, DryBoxAssignmentUpdate update) { var dba = Require <DryBoxAssignment>(dryBoxAssignmentId); var modifiedBy = Require <Client>(update.ModifiedByClientID); var db = Require <DryBox>(dba.DryBoxID); var ca = Require <ClientAccount>(update.ClientAccountID); ApproveDryBoxAssignment(dba, ca, modifiedBy); return(CreateDryBoxAssignmentInfo(dba, db, ca)); }
public DryBoxAssignmentInfo UpdateDryBoxAssignment(int dryBoxAssignmentId, DryBoxAssignmentUpdate update) { return(Put <DryBoxAssignmentInfo>("webapi/data/drybox/assignment/{dryBoxAssignmentId}", update, UrlSegments(new { dryBoxAssignmentId }))); }