Esempio n. 1
0
        public ViewOrderModel GetOrderList(ViewOrderModel objViewOrderModel)
        {
            List <OdersModel> lstOdersModel = new List <OdersModel>();

            //if FilterDocumentName is NULL than set to empty
            objViewOrderModel.FilterSubCatName = objViewOrderModel.FilterSubCatName ?? String.Empty;

            //if SortBy is NULL than set to empty
            objViewOrderModel.SortBy = objViewOrderModel.SortBy ?? String.Empty;

            //call GetDocumentList Method which will retrun datatable of  Document
            DataTable dtDocument = objDLOrder.GetOrderList(objViewOrderModel);

            //fetch each row of datable
            foreach (DataRow dr in dtDocument.Rows)
            {
                //Convert datarow into Model object and set Model object property
                OdersModel itemOdersModel = GetDataRowToEntity <OdersModel>(dr);
                //Add  Document in List
                lstOdersModel.Add(itemOdersModel);
            }

            //set Document List of Model ViewDocumentModel
            objViewOrderModel.OdersList = lstOdersModel;
            //if  Document List count is not null and greater than 0 Than set Total Pages for Paging.
            if (objViewOrderModel != null && objViewOrderModel.OdersList != null && objViewOrderModel.OdersList.Count > 0)
            {
                objViewOrderModel.CurrentPage = objViewOrderModel.OdersList[0].CurrentPage;
                int totalRecord = objViewOrderModel.OdersList[0].TotalCount;

                if (decimal.Remainder(totalRecord, objViewOrderModel.PageSize) > 0)
                {
                    objViewOrderModel.TotalPages = (totalRecord / objViewOrderModel.PageSize + 1);
                }
                else
                {
                    objViewOrderModel.TotalPages = totalRecord / objViewOrderModel.PageSize;
                }
            }
            else
            {
                objViewOrderModel.TotalPages  = 0;
                objViewOrderModel.CurrentPage = 1;
            }
            return(objViewOrderModel);
        }
Esempio n. 2
0
        public OdersModel InsertUpdateOrder(OdersModel objOdersModel)
        {
            try
            {
                int          ErrorCode    = 0;
                string       ErrorMessage = "";
                SqlParameter pErrorCode   = new SqlParameter("@ErrorCode", ErrorCode);
                pErrorCode.Direction = ParameterDirection.Output;
                SqlParameter pErrorMessage = new SqlParameter("@ErrorMessage", ErrorMessage);
                pErrorMessage.Direction = ParameterDirection.Output;
                pErrorMessage.Size      = 8000;

                SqlParameter[] parmList =
                {
                    new SqlParameter("@OrderID", objOdersModel.OrderID)
                    ,                            new SqlParameter("@UserId", objOdersModel.UserId)
                    ,                            new SqlParameter("@PaymentID", objOdersModel.PaymentID)
                    ,                            new SqlParameter("@OrderDate", objOdersModel.OrderDate)
                    ,                            new SqlParameter("@RefTimestamp", objOdersModel.RefTimestamp)
                    ,                            new SqlParameter("@TransactStatus", objOdersModel.TransactStatus)
                    ,                            new SqlParameter("@PaidTotal", objOdersModel.PaidTotal)
                    ,                            new SqlParameter("@OdersDetailModelList", ToDataTable(objOdersModel.OdersDetailModelList))
                    ,                            new SqlParameter("@IsActive", objOdersModel.IsActive)
                    ,                            new SqlParameter("@CreatedBy", objOdersModel.CreatedBy)
                    ,                            pErrorCode
                    ,                            pErrorMessage
                };

                //If  DocumentId is 0 Than Insert  Document else Update  Document
                SQLHelper.ExecuteNonQuery(SQLHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, DBConstants.Admin_InsertUpdateOrder, parmList);
                //set error code and message
                objOdersModel.ErrorCode = Convert.ToInt32(pErrorCode.Value);
                objOdersModel.Message   = Convert.ToString(pErrorMessage.Value);
                return(objOdersModel);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Payment CreatePayment(APIContext apiContext, string redirectUrl)
        {
            if (Session["PayPalItemDetail"] != null)
            {
                PayPalItemDetail objPayPalItemDetail = (PayPalItemDetail)Session["PayPalItemDetail"];

                //similar to credit card create itemlist and add item objects to it

                //var itemList = objPayPalItemDetail.itemList;

                var itemList = new ItemList()
                {
                    items = new List <Item>()
                };

                for (int i = 0; i < objPayPalItemDetail.itemList.items.Count; i++)
                {
                    itemList.items.Add(new Item()
                    {
                        url      = objPayPalItemDetail.itemList.items[i].url.ToString(),
                        name     = objPayPalItemDetail.itemList.items[i].name,
                        currency = "USD",
                        price    = objPayPalItemDetail.itemList.items[i].price,
                        quantity = "1",
                        sku      = "sku",
                        tax      = objPayPalItemDetail.itemList.items[i].tax.ToString()
                    });
                }


                var payer = new Payer()
                {
                    payment_method = "paypal"
                };

                // Configure Redirect Urls here with RedirectUrls object
                var redirUrls = new RedirectUrls()
                {
                    cancel_url = redirectUrl,
                    return_url = redirectUrl
                };

                // similar as we did for credit card, do here and create details object
                //var details = objPayPalItemDetail.details;

                double sumAmt = 0;
                foreach (Item item in objPayPalItemDetail.itemList.items)
                {
                    sumAmt += Convert.ToDouble(item.price);
                }

                double sumVat = 0;
                foreach (Item item in objPayPalItemDetail.itemList.items)
                {
                    sumVat += Convert.ToDouble(item.tax);
                }

                var details = new Details()
                {
                    tax      = sumVat.ToString(),
                    shipping = "0",
                    subtotal = sumAmt.ToString()
                };

                //vat tax
                sumAmt = sumAmt + sumVat;

                //shippiing
                sumAmt = sumAmt + 0;

                var amount = new Amount()
                {
                    currency = "USD",
                    total    = sumAmt.ToString(), // Total must be equal to sum of shipping, tax and subtotal.
                    details  = objPayPalItemDetail.details
                };

                var transactionList = new List <Transaction>();

                transactionList.Add(new Transaction()
                {
                    description    = "Transaction description.",
                    invoice_number = "your invoice number",
                    amount         = amount,
                    item_list      = itemList
                });

                this.payment = new Payment()
                {
                    intent        = "sale",
                    payer         = payer,
                    transactions  = transactionList,
                    redirect_urls = redirUrls
                };



                OdersModel objOdersModel = new OdersModel();

                objOdersModel.OrderDate            = DateTime.Now;
                objOdersModel.OrderID              = 0;
                objOdersModel.PaidTotal            = Convert.ToDecimal(objPayPalItemDetail.amount.total);
                objOdersModel.PaymentID            = 0;
                objOdersModel.RefTimestamp         = Convert.ToString(DateTime.Now.ToString("ddmmyyyyhhmmsss"));;
                objOdersModel.TransactStatus       = "In Progress";
                objOdersModel.UserId               = LoggedInUserID;
                objOdersModel.OdersDetailModelList = new List <OdersDetailModel>();

                for (int i = 0; i < objPayPalItemDetail.itemList.items.Count; i++)
                {
                    objOdersModel.OdersDetailModelList.Add(new OdersDetailModel {
                        Discount = 0, DocumentID = Convert.ToInt32(objPayPalItemDetail.itemList.items[i].url), Price = Convert.ToDecimal(objPayPalItemDetail.itemList.items[i].price), Quantity = 1, Total = Convert.ToDecimal(objPayPalItemDetail.itemList.items[i].price), VatTax = Convert.ToDecimal(objPayPalItemDetail.itemList.items[i].tax)
                    });
                }

                serviceResponse = objUtilityWeb.PostAsJsonAsync(WebApiURL.Order + "/InsertUpdateOrder", objOdersModel);
                objOdersModel   = serviceResponse.StatusCode == HttpStatusCode.OK ? serviceResponse.Content.ReadAsAsync <OdersModel>().Result : null;


                // Create a payment using a APIContext
                return(this.payment.Create(apiContext));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 4
0
 public OdersModel InsertUpdateOrder(OdersModel objOrderModel)
 {
     return(objBLOrder.InsertUpdateOrder(objOrderModel));
 }