private void LoadCurrentUser() { UserIdField.Value = CurrentOrder.UserID; EmailAddressTextBox.Text = CurrentOrder.UserEmail; BillToAddress.LoadFromAddress(CurrentOrder.BillingAddress); ShipToAddress.LoadFromAddress(CurrentOrder.ShippingAddress); }
private Dictionary <string, string> Validate() { Dictionary <string, string> ValErrors = new Dictionary <string, string>(); if (VendorID <= 0) { ValErrors.Add("Vendor", "Vendor selection is required."); } if (OrganizationID <= 0) { ValErrors.Add("Organization ID", "Organization ID is required."); } if (StatusLUID <= 0 || GetPurchaseOrderStatuses(true).Where(x => x.Id == StatusLUID) == null) { ValErrors.Add("Status", "Status is not vaild."); } if (PurchaseOrderTypeLUID <= 0 || GetPurchaseOrderTypes(true).Where(x => x.Id == PurchaseOrderTypeLUID) == null) { ValErrors.Add("Purchase Order Type", "Purchase Order Type is required."); } if (ShipToAddress != null && !ShipToAddress.IsValid()) { ValErrors.Add("Ship To Address", "Ship To Address is not valid."); } if (DefaultPaymentMethodID > 0 && DefaultPaymentMethod.PaymentMethodID <= 0) { ValErrors.Add("Payment Method", "Default Payment Method is invalid."); } return(ValErrors); }
private void SaveInfoToOrder(bool savePaymentData) { if (chkBillToSame.Checked) { BillToAddress.LoadFromAddress(ShipToAddress.GetAsAddress()); } // Save Information to Cart in Case Save as Order Fails CurrentOrder.BillingAddress = BillToAddress.GetAsAddress(); CurrentOrder.ShippingAddress = ShipToAddress.GetAsAddress(); TagOrderWithUser(); CurrentOrder.UserEmail = EmailAddressTextBox.Text; CurrentOrder.Instructions = txtInstructions.Text.Trim(); // Save Shipping Selection var r = FindSelectedRate(ShippingRatesList.SelectedValue, CurrentOrder); if (r != null) { HccApp.OrderServices.OrdersRequestShippingMethodByUniqueKey(r.UniqueKey, CurrentOrder); } if (savePaymentData) { // Save Payment Information SavePaymentInfo(); } HccApp.CalculateOrderAndSave(CurrentOrder); }
public override XElement GenerateAddRq() { XElement Add = new XElement("CustomerAdd"); Add.Add(Name?.ToQBXML(nameof(Name))); Add.Add(IsActive.ToQBXML(nameof(IsActive))); Add.Add(ClassRef?.ToQBXML(nameof(ClassRef))); Add.Add(ParentRef?.ToQBXML(nameof(ParentRef))); Add.Add(CompanyName?.ToQBXML(nameof(CompanyName))); Add.Add(Salutation?.ToQBXML(nameof(Salutation))); Add.Add(FirstName?.ToQBXML(nameof(FirstName))); Add.Add(MiddleName?.ToQBXML(nameof(MiddleName))); Add.Add(LastName?.ToQBXML(nameof(LastName))); Add.Add(JobTitle?.ToQBXML(nameof(JobTitle))); Add.Add(BillAddress?.ToQBXML(nameof(BillAddress))); Add.Add(ShipAddress?.ToQBXML(nameof(ShipAddress))); Add.Add(ShipToAddress?.ToQBXML(nameof(ShipToAddress))); Add.Add(Phone?.ToQBXML(nameof(Phone))); Add.Add(AltPhone?.ToQBXML(nameof(AltPhone))); Add.Add(Fax?.ToQBXML(nameof(Fax))); Add.Add(Email?.ToQBXML(nameof(Email))); Add.Add(Cc?.ToQBXML(nameof(Cc))); Add.Add(Contact?.ToQBXML(nameof(Contact))); Add.Add(AltContact?.ToQBXML(nameof(AltContact))); Add.Add(AdditionalContactRef?.ToQBXML(nameof(AdditionalContactRef))); Add.Add(Contacts?.ToQBXML <Contacts>(nameof(Contacts))); Add.Add(CustomerTypeRef?.ToQBXML(nameof(CustomerTypeRef))); Add.Add(TermsRef?.ToQBXML(nameof(TermsRef))); Add.Add(SalesRepRef?.ToQBXML(nameof(SalesRepRef))); Add.Add(OpenBalance?.ToQBXML(nameof(OpenBalance))); Add.Add(OpenBalanceDate?.ToQBXML(nameof(OpenBalanceDate))); Add.Add(SalesTaxCodeRef?.ToQBXML(nameof(SalesTaxCodeRef))); Add.Add(ItemSalesTaxRef?.ToQBXML(nameof(ItemSalesTaxRef))); Add.Add(ResaleNumber?.ToQBXML(nameof(ResaleNumber))); Add.Add(AccountNumber?.ToQBXML(nameof(AccountNumber))); Add.Add(CreditLimit?.ToQBXML(nameof(CreditLimit))); Add.Add(PreferredPaymentMethodRef?.ToQBXML(nameof(PreferredPaymentMethodRef))); Add.Add(CreditCardInfo?.ToQBXML(nameof(CreditCardInfo))); Add.Add(JobStatus.ToQBXML(nameof(JobStatus))); Add.Add(JobStartDate?.ToQBXML(nameof(JobStartDate))); Add.Add(JobProjectedEndDate?.ToQBXML(nameof(JobProjectedEndDate))); Add.Add(JobEndDate?.ToQBXML(nameof(JobEndDate))); Add.Add(JobDesc?.ToQBXML(nameof(JobDesc))); Add.Add(JobTypeRef?.ToQBXML(nameof(JobTypeRef))); Add.Add(Notes?.ToQBXML(nameof(Notes))); Add.Add(AdditionalNotes?.ToQBXML(nameof(AdditionalNotes))); Add.Add(PreferredDeliveryMethod.ToQBXML(nameof(PreferredDeliveryMethod))); Add.Add(PriceLevelRef?.ToQBXML(nameof(PriceLevelRef))); Add.Add(ExternalGUID?.ToQBXML(nameof(ExternalGUID))); Add.Add(CurrencyRef?.ToQBXML(nameof(CurrencyRef))); XElement AddRq = new XElement("CustomerAddRq"); AddRq.Add(Add); AddRq.Add(IncludeRetElement?.ToQBXML(nameof(IncludeRetElement))); return(AddRq); }
protected void chkBillToSame_CheckedChanged(object sender, EventArgs e) { if (chkBillToSame.Checked) { BillToAddress.LoadFromAddress(ShipToAddress.GetAsAddress()); pnlBillTo.Visible = false; } else { pnlBillTo.Visible = true; } LoadShippingMethods(); }
private void TagOrderWithUser(CustomerAccount account) { var u = account; if (u != null) { if (u.Bvin != string.Empty) { UserIdField.Value = u.Bvin; CurrentOrder.UserID = u.Bvin; u.CheckIfNewAddressAndAddNoUpdate(BillToAddress.GetAsAddress()); u.CheckIfNewAddressAndAddNoUpdate(ShipToAddress.GetAsAddress()); HccApp.MembershipServices.Customers.Update(u); } } }
protected void UserSelected(UserSelectedEventArgs args) { if (args.UserAccount == null) { return; } UserIdField.Value = args.UserAccount.Bvin; CurrentOrder.UserID = args.UserAccount.Bvin; HccApp.OrderServices.Orders.Update(CurrentOrder); BillToAddress.LoadFromAddress(args.UserAccount.BillingAddress); ShipToAddress.LoadFromAddress(args.UserAccount.ShippingAddress); if (BillToAddress.FirstName == string.Empty) { BillToAddress.FirstName = args.UserAccount.FirstName; } if (BillToAddress.LastName == string.Empty) { BillToAddress.LastName = args.UserAccount.LastName; } if (ShipToAddress.FirstName == string.Empty) { ShipToAddress.FirstName = args.UserAccount.FirstName; } if (ShipToAddress.LastName == string.Empty) { ShipToAddress.LastName = args.UserAccount.LastName; } EmailAddressTextBox.Text = args.UserAccount.Email; LoadShippingMethods(); CurrentOrder.UserEmail = EmailAddressTextBox.Text; CurrentOrder.BillingAddress = BillToAddress.GetAsAddress(); CurrentOrder.ShippingAddress = ShipToAddress.GetAsAddress(); HccApp.OrderServices.Orders.Update(CurrentOrder); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (ShipmentId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "ShipmentId"); } if (DestinationFulfillmentCenterId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "DestinationFulfillmentCenterId"); } if (ShipToAddress == null) { throw new ValidationException(ValidationRules.CannotBeNull, "ShipToAddress"); } if (LabelPrepType == null) { throw new ValidationException(ValidationRules.CannotBeNull, "LabelPrepType"); } if (Items == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Items"); } if (ShipToAddress != null) { ShipToAddress.Validate(); } if (Items != null) { foreach (var element in Items) { if (element != null) { element.Validate(); } } } if (EstimatedBoxContentsFee != null) { EstimatedBoxContentsFee.Validate(); } }
public void Save(string uid) { try { if (string.IsNullOrEmpty(uid)) { throw new ArgumentNullException("UID", "User Name is required."); } Dictionary <string, string> ValErrors = Validate(); if (ValErrors.Count > 0) { throw new RequisitionNotValidException("Purchase Order is not valid.", ValErrors); } using (PurchasingContext Context = ContextHelper.GetDBContext()) { Enums.HistoryType ChangeType; PurchaseOrder Original = null; PurchaseOrderData data = null; if (PurchaseOrderID > 0) { ChangeType = Enums.HistoryType.UPDATE; data = Context.PurchaseOrderDatas.FirstOrDefault(x => x.purchase_order_id == PurchaseOrderID); Original = new PurchaseOrder(data); } else { ChangeType = Enums.HistoryType.ADD; data = new PurchaseOrderData(); data.created_by = uid; data.date_created = DateTime.Now; } data.vendor_id = VendorID; data.purchase_order_type_luid = PurchaseOrderTypeLUID; data.organization_id = OrganizationID; if (DateOrdered > DateTime.MinValue) { data.date_ordered = DateOrdered; } else { data.date_ordered = null; } if (OrderedByID > 0) { data.ordered_by = OrderedByID; } else { data.ordered_by = null; } data.status_luid = StatusLUID; if (DateReceived > DateTime.MinValue) { data.date_received = DateReceived; } else { data.date_received = null; } if (DateClosed > DateTime.MinValue) { data.date_closed = DateClosed; } else { data.date_closed = null; } if (!String.IsNullOrEmpty(ShipToName)) { data.ship_to_name = ShipToName; } else { data.ship_to_name = null; } if (!String.IsNullOrEmpty(ShipToAttn)) { data.ship_to_attention = ShipToAttn; } else { data.ship_to_attention = null; } if (ShipToAddress != null && ShipToAddress.IsValid()) { data.ship_to_address = ShipToAddress.ToArenaFormat(); } else { data.ship_to_address = null; } if (ShippingCharge != 0) { data.shipping_charge = ShippingCharge; } else { data.shipping_charge = null; } if (OtherCharge != 0) { data.other_charge = OtherCharge; } else { data.other_charge = null; } if (DefaultPaymentMethodID > 0) { data.default_payment_method_id = DefaultPaymentMethodID; } else { data.default_payment_method_id = null; } data.modified_by = uid; data.date_modified = DateTime.Now; data.active = Active; if (!String.IsNullOrEmpty(Terms)) { data.terms = Terms.Trim(); } else { data.terms = null; } data.has_been_billed = HasBeenBilled; if (PurchaseOrderID <= 0) { Context.PurchaseOrderDatas.InsertOnSubmit(data); } Context.SubmitChanges(); Load(data); SaveHistory(ChangeType, Original, uid); } } catch (Exception ex) { throw new RequisitionException("An error has occurred while saving purchase order.", ex); } }
/// <summary> /// Post process payment (used by payment gateways that require redirecting to a third-party URL) /// </summary> /// <param name="postProcessPaymentRequest">Payment info required for an order processing</param> public void PostProcessPaymentDistributedOrder(PostProcessTransactionPaymentRequest postProcessPaymentRequest) { PGResponse objPGResponse = new PGResponse(); CustomerDetails oCustomer = new CustomerDetails(); SessionDetail oSession = new SessionDetail(); AirLineTransaction oAirLine = new AirLineTransaction(); MerchanDise oMerchanDise = new MerchanDise(); SFA.CardInfo objCardInfo = new SFA.CardInfo(); SFA.Merchant objMerchant = new SFA.Merchant(); ShipToAddress objShipToAddress = new ShipToAddress(); BillToAddress oBillToAddress = new BillToAddress(); ShipToAddress oShipToAddress = new ShipToAddress(); MPIData objMPI = new MPIData(); PGReserveData oPGreservData = new PGReserveData(); Address oHomeAddress = new Address(); Address oOfficeAddress = new Address(); // For getting unique MerchantTxnID // Only for testing purpose. // In actual scenario the merchant has to pass his transactionID DateTime oldTime = new DateTime(1970, 01, 01, 00, 00, 00); DateTime currentTime = DateTime.Now; TimeSpan structTimespan = currentTime - oldTime; string lMrtTxnID = ((long)structTimespan.TotalMilliseconds).ToString(); var merchantId = _EmiPaymentSettings.MerchantId.ToString(); var orderId = postProcessPaymentRequest.CurrentOrderTransaction.TransactionId; var Id = orderId.ToString(); var amount = postProcessPaymentRequest.CurrentOrderTransaction.TransactionAmount.ToString(new CultureInfo("en-US", false).NumberFormat); //Setting Merchant Details objMerchant.setMerchantDetails(merchantId, merchantId, merchantId, "", lMrtTxnID, Id, "https://www.laorigin.com/PaymentEmi/ReturnDistributedOrder?orderId=" + Id, "POST", "INR", "INV123", "req.Sale", amount, "GMT+05:30", "ASP.NET64", "true", "ASP.NET64", "ASP.NET64", "ASP.NET64"); // Setting BillToAddress Details oBillToAddress.setAddressDetails(postProcessPaymentRequest.Order.CustomerId.ToString(), postProcessPaymentRequest.Order.Customer.SystemName, postProcessPaymentRequest.Order.BillingAddress.Address1, postProcessPaymentRequest.Order.BillingAddress.Address2, "", postProcessPaymentRequest.Order.BillingAddress.City, postProcessPaymentRequest.Order.BillingAddress.StateProvince.Name , postProcessPaymentRequest.Order.BillingAddress.ZipPostalCode, postProcessPaymentRequest.Order.BillingAddress.Country.Name, postProcessPaymentRequest.Order.Customer.Email); // Setting ShipToAddress Details oShipToAddress.setAddressDetails(postProcessPaymentRequest.Order.BillingAddress.Address1, postProcessPaymentRequest.Order.BillingAddress.Address2, "", postProcessPaymentRequest.Order.BillingAddress.City, postProcessPaymentRequest.Order.BillingAddress.StateProvince.Name, postProcessPaymentRequest.Order.BillingAddress.ZipPostalCode, postProcessPaymentRequest.Order.BillingAddress.Country.Name, postProcessPaymentRequest.Order.Customer.Email); //Setting MPI datails. //objMPI.setMPIRequestDetails ("1000","INR10.00","356","2","2 shirts","","","","0","","image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*","Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"); // Setting Name home/office Address Details // Order of Parameters => AddLine1, AddLine2, AddLine3, City, State , Zip, Country, Email id oHomeAddress.setAddressDetails("2Sandeep", "Uttam Corner", "Chinchwad", "Pune", "state", "4385435873", "IND", "*****@*****.**"); // Order of Parameters => AddLine1, AddLine2, AddLine3, City, State , Zip, Country, Email id oOfficeAddress.setAddressDetails("2Opus", "MayFairTowers", "Wakdewadi", "Pune", "state", "4385435873", "IND", "*****@*****.**"); // Stting Customer Details // Order of Parameters => First Name,LastName ,Office Address Object,Home Address Object,Mobile No,RegistrationDate, flag for matching bill to address and ship to address oCustomer.setCustomerDetails(postProcessPaymentRequest.Order.Customer.SystemName, "", oOfficeAddress, oHomeAddress, "", "13-06-2007", "Y"); //Setting Merchant Dise Details // Order of Parameters => Item Purchased,Quantity,Brand,ModelNumber,Buyers Name,flag value for matching CardName and BuyerName oMerchanDise.setMerchanDiseDetails("Computer", "2", "Intel", "P4", "Sandeep Patil", "Y"); //Setting Session Details // Order of Parameters => Remote Address, Cookies Value Browser Country,Browser Local Language,Browser Local Lang Variant,Browser User Agent' oSession.setSessionDetails(getRemoteAddr(), getSecureCookie(HttpContext.Current.Request), "", HttpContext.Current.Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"], "", HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"]); //Settingr AirLine Transaction Details //Order of Parameters => Booking Date,FlightDate,Flight Time,Flight Number,Passenger Name,Number Of Tickets,flag for matching card name and customer name,PNR,sector from,sector to' oAirLine.setAirLineTransactionDetails("10-06-2007", "22-06-2007", "13:20", "119", "Sandeep", "1", "Y", "25c", "Pune", "Mumbai"); SFAClient objSFAClient = new SFAClient("c:\\inetpub\\wwwroot\\SFAClient\\Config\\"); objPGResponse = objSFAClient.postSSL(objMPI, objMerchant, oBillToAddress, oShipToAddress, oPGreservData, oCustomer, oSession, oAirLine, oMerchanDise); if (objPGResponse.RedirectionUrl != "" & objPGResponse.RedirectionUrl != null) { string strResponseURL = objPGResponse.RedirectionUrl; HttpContext.Current.Response.Redirect(strResponseURL); } else { HttpContext.Current.Response.Write("Response Code:" + objPGResponse.RespCode); HttpContext.Current.Response.Write("Response message:" + objPGResponse.RespMessage); } }