Beispiel #1
0
        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);
        }
Beispiel #2
0
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


        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);
        }