public bool UpdateQuoteStatus(QuoteUpdateStatusRequest model) { bool success = false; try { DataProvider.ExecuteNonQuery(GetConnection, "dbo.Quote_Update_Status" , inputParamMapper : delegate(SqlParameterCollection paramCollection) { paramCollection.AddWithValue("@StateId", model.QuoteState); paramCollection.AddWithValue("@Id", model.QuoteId); success = true; }); } catch (Exception ex) { throw ex; } return(success); }
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public bool QuoteSMAttemptComplete(UpdateQuoteStateMachineRequest updateModel) { bool success = false; // Cancelling is the right of the originator QuoteDomain quoteModel = QuoteGetByQuoteId(updateModel.QuoteId); //- this should be a check against the companyId instead of userId if (updateModel.CompanyId == quoteModel.BuyerCompanyId || updateModel.CompanyId == quoteModel.SellerCompanyId) { try { var StateHandler = new QuoteStateService(quoteModel); // Verify this is valid action StateHandler.StateMachine.Fire(QuoteEvent.Complete); // Update Status on THIS model quoteModel.QuoteState = QuoteState.Completed; // Update status in DB QuoteUpdateStatusRequest QuoteUpdate = new QuoteUpdateStatusRequest { QuoteId = quoteModel.QuoteId, QuoteState = quoteModel.QuoteState }; UpdateQuoteStatus(QuoteUpdate); success = true; } //-Implement a catch for InvalidOperationException that sets success to false catch (Exception ex) { throw ex; } } return(success); }