public HttpResponseMessage DeleteMerchantDocuments(int merchantId, int documentId)
 {
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         return this.Request.CreateResponse(HttpStatusCode.OK, mt.DeleteMerchantDocuments(documentId));
     }
 }
 public HttpResponseMessage AddMerchantOwnerInformation([FromBody]MPMerchantOwnerDetailModel obj)
 {
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         try
         {
             return this.Request.CreateResponse(HttpStatusCode.OK, mt.AddMerchantOwnerInformation(obj));
         }
         catch (Exception ex)
         {
             return this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
         }
     }
 }
 public HttpResponseMessage AddContractSalesRepresentative(MPMerchantContractSalesRepresentativeModel obj)
 {
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         try
         {
             return this.Request.CreateResponse(HttpStatusCode.OK, mt.AddContractSalesRepresentative(obj));
         }
         catch (Exception ex)
         {
             return this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
         }
     }
 }
 public HttpResponseMessage RetrieveMerchantProfiles(int merchantId, int ProcessorId, string ProcessorNumber)
 {
     MPMerchantProfileDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantProfiles(merchantId, ProcessorId, ProcessorNumber);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchantProfileInformation(int ProfileId)
 {
     MPMerchantProfileDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantProfile(ProfileId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchantDocuments(int merchantId, int DocumentTypeId)
 {
     MPMerchantDocumentsDetailModel response = new MPMerchantDocumentsDetailModel(); ;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response.Documents = mt.RetrieveMerchantDocuments(merchantId, DocumentTypeId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveContractGeneralInformation(int contractId)
 {
     MPMerchantContractModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveContractGeneralInformation(contractId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage UpdateMerchantBusinessProcessorInformation(Int64 merchantId, [FromUri]int Terminal, [FromUri]int processorTypeId, [FromUri]string processorNumber, [FromUri]DateTime dateGracePeriod, [FromUri]int industryTypeID, [FromUri]DateTime firstProcessedDate, [FromUri]int processorId)
 {
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         try
         {
             return this.Request.CreateResponse(HttpStatusCode.OK, mt.UpdateMerchantBusinessProcessorInformation(merchantId, Terminal, processorTypeId, processorNumber, dateGracePeriod, industryTypeID, firstProcessedDate, processorId));
         }
         catch (Exception ex)
         {
             return this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
         }
     }
 }
 public HttpResponseMessage RetriveMerchantStatus(string statusType = "mrc")
 {
     IList<GeneralModel> response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveStatus(statusType);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchanAffiliations(int merchantId, string RequestType)
 {
     MPMerchantAffiliationDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchanAffiliations(merchantId, RequestType);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchanActivitiesMonthly(int merchantId, int ProcessorTypeId, string ProcessorNumber, DateTime ActivityStartDate, DateTime ActivityEndDate)
 {
     MPMerchantActivityDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchanActivitiesMonthly(merchantId, ProcessorTypeId, ProcessorNumber, ActivityStartDate, ActivityEndDate);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchanActivities(int merchantId, int ProcessorTypeId, string MonthName)
 {
     MPMerchantActivityDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantActivities(merchantId, ProcessorTypeId, MonthName);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveContractSalesRepresentativeDetail(int salesRepId)
 {
     MPMerchantContractSalesRepresentativeModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveContractSalesRepresentativeDetail(salesRepId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveContractHistory(int contractId, DateTime HistoryStartDate, DateTime HistoryEndDate)
 {
     MPMerchantContractModel response= new MPMerchantContractModel();
     MPMerchantHistoryDetailModel innerresponse;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         innerresponse = mt.RetrieveContractHistory(contractId, HistoryStartDate, HistoryEndDate);
         response.HistoryDetail = innerresponse;
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchantStatements(int merchantId, DateTime StatementsFrom, DateTime StatementsTo)
 {
     MPMerchantStatementsDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantStatements(merchantId, StatementsFrom, StatementsTo);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetriveMerchantContracts(int merchantId)
 {
     IList<GeneralModel> response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetriveMerchantContracts(merchantId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchanCreditReport(int reportId, Int64 contractId, Int64 merchantId)
 {
     MPMerchantCreditReportDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchanCreditReport(reportId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage UpdateMerchantBusinessInformation(int merchantId, [FromBody]MPMerchantBusinessModel obj)
 {
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         try
         {
             return this.Request.CreateResponse(HttpStatusCode.OK, mt.UpdateMerchantBusinessInformation(obj));
         }
         catch(Exception ex)
         {
             return this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
         }
     }
 }
 public HttpResponseMessage RetrieveMerchanHistory(int merchantId, DateTime HistoryStartDate, DateTime HistoryEndDate)
 {
     MPMerchantHistoryDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantHistory(merchantId, HistoryStartDate, HistoryEndDate);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage UpdateMerchantBusinessProcessorInformation([FromBody] MPMerchantProcessorInfoModel entity)
 {
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         try
         {
             return this.Request.CreateResponse(HttpStatusCode.OK, mt.UpdateMerchantBusinessProcessorInformation(entity));
         }
         catch (Exception ex)
         {
             return this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
         }
     }
 }
 public HttpResponseMessage RetrieveMerchanRiskEvaluation(int merchantId, DateTime StartDate, DateTime EndDate)
 {
     MPMerchantRiskEvaluationDetailModel response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantRiskEvaluation(merchantId, StartDate, EndDate);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveMerchantBusinessProcessorInformation(int merchantId)
 {
     IList<MPMerchantProcessorInfoModel> response;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         response = mt.RetrieveMerchantBusinessProcessorInformation(merchantId);
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }
 public HttpResponseMessage RetrieveContractActivities(int contractId, int ProcessorTypeId, string ProcessorNumber, DateTime ActivityStartDate, DateTime ActivityEndDate)
 {
     MPMerchantContractModel response = new MPMerchantContractModel();
     MPMerchantActivityDetailModel innerresponse;
     using (MerchantProfileTier mt = new MerchantProfileTier())
     {
         innerresponse = mt.RetrieveContractActivities(contractId, ProcessorTypeId, ProcessorNumber, ActivityStartDate, ActivityEndDate);
         response.ActivityDetail = innerresponse;
         return this.Request.CreateResponse(HttpStatusCode.OK, response);
     }
 }