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); }
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); } }
public OdersModel InsertUpdateOrder(OdersModel objOrderModel) { return(objBLOrder.InsertUpdateOrder(objOrderModel)); }