public OrderCommisionDetail_TissueBank GetOrderCommisionDetail(int OrderId, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); OrderCommisionDetail_TissueBank orderCommisionDetail = new OrderCommisionDetail_TissueBank(); try { orderDataService.CreateSession(); orderCommisionDetail = orderDataService.GetOrderCommisionDetail(OrderId, out transaction); } catch (Exception ex) { transaction.ReturnMessage = new List <string>(); string errorMessage = ex.Message; transaction.ReturnStatus = false; transaction.ReturnMessage.Add(errorMessage); } finally { orderDataService.CloseSession(); } return(orderCommisionDetail); }
private ResTransaction ChargeCustomerProfile(OrderCommisionDetail_TissueBank orderCommisionDetail) { CustomService.AllocatCustomServiceClient obj = new AllocatCustomServiceClient(); ResTransaction resTransaction = new ResTransaction(); resTransaction = obj.ChargeCustomerProfile(orderCommisionDetail.CustomerProfileId, orderCommisionDetail.CustomerPaymentProfileIds, (decimal)orderCommisionDetail.AlloCATFees); return(resTransaction); }
public OrderCommisionDetail_TissueBank GetOrderCommisionDetail(int OrderId, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); OrderCommisionDetail_TissueBank orderCommisionDetail = (from o in dbConnection.Order join od in dbConnection.OrderDetail on o.OrderId equals od.OrderId join pe in dbConnection.ProductEntity on od.ProductEntityId equals pe.ProductEntityId join tb in dbConnection.TissueBank on pe.TissueBankId equals tb.TissueBankId where o.OrderId == OrderId select new OrderCommisionDetail_TissueBank { AlloCATFees = o.AlloCATFees, CustomerProfileId = tb.CustomerProfileId, CustomerPaymentProfileIds = tb.CustomerPaymentProfileIds, TissueBankId = tb.TissueBankId }).FirstOrDefault(); transaction.ReturnStatus = true; transaction.ReturnMessage.Add("orderCommisionDetail found."); return(orderCommisionDetail); }
public HttpResponseMessage Post(Order_Ack_Decline_DTO order_Ack_Decline_DTO) { Order_TissueBankApiModel order_TissueBankApiModel = new Order_TissueBankApiModel(); TransactionalInformation transaction = new TransactionalInformation(); TransactionBusinessService transactionBusinessService = new TransactionBusinessService(transactionDataService); Status status = new Status(); ErrorBusinessService errorBusinessService = new ErrorBusinessService(errorDataService); StatusBusinessService statusBusinessService = new StatusBusinessService(statusDataService); OrderBusinessService orderBusinessService = new OrderBusinessService(orderDataService); //Get OrderCommisionDetail OrderCommisionDetail_TissueBank orderCommisionDetail = orderBusinessService.GetOrderCommisionDetail(order_Ack_Decline_DTO.OrderId, out transaction); if (order_Ack_Decline_DTO.StatusId == 1008) { //static values orderCommisionDetail.CustomerProfileId = "1810434404"; orderCommisionDetail.CustomerPaymentProfileIds = "1805183086"; //Convert object to string to send as requestBody string objToPass = Utility.Utilities.SerializeObject <Order_Ack_Decline_DTO>(order_Ack_Decline_DTO); //create transaction int TransactionId = transactionBusinessService.Transaction_Create(DateTime.Now, (float)orderCommisionDetail.AlloCATFees, order_Ack_Decline_DTO.LastModifiedBy, objToPass, out transaction); //cut commision var response = ChargeCustomerProfile(orderCommisionDetail); // if response is not null then only save info in db. if (response.AuthCode != null) { //converting response into xml format string ResponseBody = Utility.Utilities.SerializeObject <ResTransaction>(response); //get status from database for Success status = statusBusinessService.GetStatusByStatusName("Success"); orderBusinessService.Order_Ack_Decline(order_Ack_Decline_DTO.OrderId, order_Ack_Decline_DTO.StatusId, order_Ack_Decline_DTO.DeclineRemark, order_Ack_Decline_DTO.ShippingMethod, order_Ack_Decline_DTO.TissueBankSendByDate, order_Ack_Decline_DTO.LastModifiedBy, TransactionId, response.AuthCode, ResponseBody, response.TransactionId, status.StatusId, orderCommisionDetail.TissueBankId, out transaction); order_TissueBankApiModel.ReturnMessage = transaction.ReturnMessage; order_TissueBankApiModel.ReturnStatus = transaction.ReturnStatus; } else { //get status from database for Success status = statusBusinessService.GetStatusByStatusName("Error"); if (response.ErrorCode == null) { response.MessageCode = "Error Code from authorize.net is null."; } if (response.MessageDescription == null) { response.MessageDescription = "Response from authorize.net is null."; } //if response is null then log error and update transaction too. string errorMessage = errorBusinessService.Error_Create(status.StatusId, response.MessageDescription, "", TransactionId, order_Ack_Decline_DTO.LastModifiedBy, response.MessageCode); order_TissueBankApiModel.ReturnStatus = transaction.ReturnStatus = false; order_TissueBankApiModel.ReturnMessage.Add(response.MessageDescription); } } else { orderBusinessService.Order_Ack_Decline(order_Ack_Decline_DTO.OrderId, order_Ack_Decline_DTO.StatusId, order_Ack_Decline_DTO.DeclineRemark, order_Ack_Decline_DTO.ShippingMethod, order_Ack_Decline_DTO.TissueBankSendByDate, order_Ack_Decline_DTO.LastModifiedBy, 0, "", "", "", 0, orderCommisionDetail.TissueBankId, out transaction); } if (transaction.ReturnStatus == false) { order_TissueBankApiModel.ValidationErrors = transaction.ValidationErrors; return(Request.CreateResponse <Order_TissueBankApiModel>(HttpStatusCode.BadRequest, order_TissueBankApiModel)); } else { return(Request.CreateResponse <Order_TissueBankApiModel>(HttpStatusCode.OK, order_TissueBankApiModel)); } }