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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
            }
        }