Added a drop date option at the end of the wizard for Postcards only.
This commit is contained in:
parent
5a6ef3583a
commit
6ff8a8b817
|
|
@ -497,6 +497,18 @@ else if (ShowWizard)
|
|||
<p>I'll be sending in a check by the invoice's due date (4/24/2026).</p>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (isPostcard)
|
||||
{
|
||||
<div class="col-12">
|
||||
<h4>When would you like your cards to be in homes?</h4>
|
||||
<TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons mb-5">
|
||||
<ButtonGroupToggleButton @bind-Selected="@beforeMemorialDay">Before Memorial Day</ButtonGroupToggleButton>
|
||||
<ButtonGroupToggleButton @bind-Selected="@beforeJulyFourth">Before July 4th</ButtonGroupToggleButton>
|
||||
</TelerikButtonGroup>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="col-12">
|
||||
<label style="display:block" for="RequestedQuantity" class="text-center mb-3">Requested Quantity</label>
|
||||
<TelerikTextBox class="mb-3" Id="RequestedQuantity" @bind-Value="@requestedQuantity" MaxLength="6" Width="15rem"></TelerikTextBox>
|
||||
|
|
|
|||
|
|
@ -14,390 +14,402 @@ namespace SummerBestWebForm2.Components.Pages;
|
|||
|
||||
public partial class Home
|
||||
{
|
||||
[CascadingParameter]
|
||||
public CascadingAppState appState { get; set; } = default!;
|
||||
[CascadingParameter]
|
||||
public CascadingAppState appState { get; set; } = default!;
|
||||
|
||||
async Task OnFinishHandler()
|
||||
//private void SaveIt()
|
||||
{
|
||||
using (var em = new kmCommonLibsCore.Emails() { HandleOptOuts = false, SendMethod = enuSendMethod.OnsiteServer })
|
||||
async Task OnFinishHandler()
|
||||
//private void SaveIt()
|
||||
{
|
||||
// Parsing the submitted form to pull the relevant information
|
||||
var cardType = isPostcard ? "Postcard" : "Plastic Card";
|
||||
var cardDesign = string.Empty;
|
||||
if (designOne)
|
||||
cardDesign = "A";
|
||||
else if (designTwo)
|
||||
cardDesign = "B";
|
||||
else if (designThree)
|
||||
cardDesign = "C";
|
||||
else if (designCustom)
|
||||
cardDesign = "CUSTOM";
|
||||
|
||||
// Postcard or Plastic specific options
|
||||
var customizationInfo = string.Empty;
|
||||
if (isPostcard)
|
||||
{
|
||||
var verseChoice = string.Empty;
|
||||
var sigChoice = string.Empty;
|
||||
|
||||
if (verseOne)
|
||||
verseChoice = "1";
|
||||
else if (verseTwo)
|
||||
verseChoice = "2";
|
||||
else if (verseThree)
|
||||
verseChoice = "3";
|
||||
|
||||
if (sigOne)
|
||||
sigChoice = string.Format("Option D - From Your Friends At:<br />{0}<br />{1}", locationInfo.LocationName, locationInfo.PhoneNumber);
|
||||
else if (sigTwo)
|
||||
sigChoice = string.Format("Option E - Name: {0}<br />Title: {1}<br />Phone: {2}", customName, customTitle, customPhone);
|
||||
else if (sigThree)
|
||||
sigChoice = string.Format("Option F - {0}", customSignature);
|
||||
|
||||
// combine these into customizationInfo
|
||||
customizationInfo = string.Format("<tr><td>Verse:</td><td>{0}</td></tr><tr><td>Signature:</td><td>{1}</td></tr>", verseChoice, sigChoice);
|
||||
}
|
||||
else // isPlasticCard
|
||||
{
|
||||
var smallOfferList = new List<string>();
|
||||
var bigOfferList = new List<string>();
|
||||
|
||||
for (int index = 0; index < smallOffers.Length; index++)
|
||||
using (var em = new kmCommonLibsCore.Emails() { HandleOptOuts = false, SendMethod = enuSendMethod.OnsiteServer })
|
||||
{
|
||||
if (smallOffers[index])
|
||||
smallOfferList.Add(string.Format("B{0}", index + 1));
|
||||
// Parsing the submitted form to pull the relevant information
|
||||
var cardType = isPostcard ? "Postcard" : "Plastic Card";
|
||||
var cardDesign = string.Empty;
|
||||
if (designOne)
|
||||
cardDesign = "A";
|
||||
else if (designTwo)
|
||||
cardDesign = "B";
|
||||
else if (designThree)
|
||||
cardDesign = "C";
|
||||
else if (designCustom)
|
||||
cardDesign = "CUSTOM";
|
||||
|
||||
// Postcard or Plastic specific options
|
||||
var customizationInfo = string.Empty;
|
||||
if (isPostcard)
|
||||
{
|
||||
var verseChoice = string.Empty;
|
||||
var sigChoice = string.Empty;
|
||||
|
||||
if (verseOne)
|
||||
verseChoice = "1";
|
||||
else if (verseTwo)
|
||||
verseChoice = "2";
|
||||
else if (verseThree)
|
||||
verseChoice = "3";
|
||||
|
||||
if (sigOne)
|
||||
sigChoice = string.Format("Option D - From Your Friends At:<br />{0}<br />{1}", locationInfo.LocationName, locationInfo.PhoneNumber);
|
||||
else if (sigTwo)
|
||||
sigChoice = string.Format("Option E - Name: {0}<br />Title: {1}<br />Phone: {2}", customName, customTitle, customPhone);
|
||||
else if (sigThree)
|
||||
sigChoice = string.Format("Option F - {0}", customSignature);
|
||||
|
||||
// combine these into customizationInfo
|
||||
customizationInfo = string.Format("<tr><td>Verse:</td><td>{0}</td></tr><tr><td>Signature:</td><td>{1}</td></tr>", verseChoice, sigChoice);
|
||||
}
|
||||
else // isPlasticCard
|
||||
{
|
||||
var smallOfferList = new List<string>();
|
||||
var bigOfferList = new List<string>();
|
||||
|
||||
for (int index = 0; index < smallOffers.Length; index++)
|
||||
{
|
||||
if (smallOffers[index])
|
||||
smallOfferList.Add(string.Format("B{0}", index + 1));
|
||||
}
|
||||
for (int index = 0; index < bigOffers.Length; index++)
|
||||
{
|
||||
if (bigOffers[index])
|
||||
bigOfferList.Add(string.Format("A{0}", index + 1));
|
||||
}
|
||||
|
||||
customizationInfo = string.Format("<tr><td>BIG Offers:</td><td>{0}</td></tr><tr><td>SMALL Offers:</td><td>{1}</td></tr>",
|
||||
string.Join(", ", bigOfferList), string.Join(", ", smallOfferList));
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Logo info
|
||||
var logos = new List<string>();
|
||||
if (goodyear)
|
||||
logos.Add("Goodyear");
|
||||
if (michelin)
|
||||
logos.Add("Michelin");
|
||||
if (custom)
|
||||
logos.Add("Custom");
|
||||
if (logos.Count == 0)
|
||||
logos.Add("NONE");
|
||||
|
||||
// Payment info
|
||||
string paymentMethod = string.Empty;
|
||||
if (ccOnFile)
|
||||
paymentMethod = "Credit Card on File";
|
||||
else if (callWithInfo)
|
||||
paymentMethod = "Call With Payment Info";
|
||||
else if (check)
|
||||
paymentMethod = "Check";
|
||||
|
||||
// Formulating the email to send
|
||||
em.Subject = "SBC Order Form Submission";
|
||||
em.AddAddress(enuAddressType.From, "support@keymotive.us", "Summer Growth Enrollment");
|
||||
em.AddAddress(enuAddressType.To, "support@keymotive.net", "KeyMotive Support");
|
||||
em.AddAddress(enuAddressType.CC, "jondeck@keymotive.net", "Jon Deck");
|
||||
|
||||
var targetAudience = string.Format("<tr><td>Audience:</td><td>{0}</td></tr>", string.IsNullOrWhiteSpace(audienceType) ? "NOTHING!" : audienceType);
|
||||
var locInfoString = string.Format("<tr style='padding-top:14px'><td>Location Name:</td><td>{0}</td></tr>" +
|
||||
"<tr><td>Manager:</td><td>{1}</td></tr>" +
|
||||
"<tr><td>Address:</td><td>{2}</td></tr>" +
|
||||
"<tr><td>City:</td><td>{3}</td></tr>" +
|
||||
"<tr><td>State:</td><td>{4}</td></tr>" +
|
||||
"<tr><td>Zip:</td><td>{5}</td></tr>" +
|
||||
"<tr style='padding-top:14px'><td>Phone Number:</td><td>{6}</td></tr>" +
|
||||
"<tr><td>Contact Name:</td><td>{7}</td></tr>" +
|
||||
"<tr><td>Contact Phone:</td><td>{8}</td></tr>" +
|
||||
"<tr><td>Contact Email:</td><td>{9}</td></tr>",
|
||||
locationInfo.LocationName, locationInfo.Manager, locationInfo.Address, locationInfo.City, locationInfo.State,
|
||||
locationInfo.Zip, locationInfo.PhoneNumber, locationInfo.ContactName,
|
||||
locationInfo.ContactPhone, locationInfo.ContactEmail);
|
||||
|
||||
var cardInfoString = string.Format("<tr><td>Card type:</td><td>{0}, Design {1}</td></tr>" +
|
||||
"<tr style='padding-top:14px'><td colspan='2'>Customization Options:</td></tr>" +
|
||||
"{2}" +
|
||||
"<tr><td>Logos:</td><td>{3}</td></tr>",
|
||||
cardType, cardDesign, customizationInfo, string.Join(", ", logos));
|
||||
|
||||
if (int.TryParse(requestedQuantity, out _))
|
||||
requestedQuantity = string.Format("{0:#,##0}", int.Parse(requestedQuantity));
|
||||
|
||||
string timingString = "";
|
||||
if (isPostcard)
|
||||
{
|
||||
if (beforeJulyFourth)
|
||||
timingString = "<tr><td>Timing:</td><td>Before July 4th</td></tr>";
|
||||
else if (beforeMemorialDay)
|
||||
timingString = "<tr><td>Timing:</td><td>Before Memorial Day</td></tr>";
|
||||
}
|
||||
|
||||
var paymentString = string.Format("<tr><td>Payment Method:</td><td>{0}</td></tr>" +
|
||||
"<tr style='padding-top:14px'><td>Requested Quantity:</td><td>{1}</td></tr>" + timingString +
|
||||
"<tr><td>Additional Comments:</td><td>{2}</td></tr>", paymentMethod, requestedQuantity, additionalComments);
|
||||
var ipString = string.Format("<tr style='padding-top:20px'><td>IP Address</td><td>{0}</td></tr>",
|
||||
string.IsNullOrWhiteSpace(IpAddressService.RemoteIpAddress.ToString()) ? "NONE" : IpAddressService.RemoteIpAddress.ToString());
|
||||
|
||||
em.HtmlBody = "<div style='font-size:1.05em'><b>You have a new enrollment:</b><br /><br /><table style='font-size:1.05em;display:block;font-family: monospace;'>" +
|
||||
targetAudience + locInfoString + cardInfoString + paymentString + ipString + "</table></div>";
|
||||
|
||||
try
|
||||
{
|
||||
em.Send();
|
||||
await Console.Out.WriteLineAsync("Done sending");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
await Console.Out.WriteLineAsync("ERROR: " + e.Message);
|
||||
}
|
||||
ShowWizard = false;
|
||||
await Dialogs.AlertAsync("The Registration was submitted successfully", "Done");
|
||||
}
|
||||
for (int index = 0; index < bigOffers.Length; index++)
|
||||
{
|
||||
if (bigOffers[index])
|
||||
bigOfferList.Add(string.Format("A{0}", index + 1));
|
||||
}
|
||||
|
||||
customizationInfo = string.Format("<tr><td>BIG Offers:</td><td>{0}</td></tr><tr><td>SMALL Offers:</td><td>{1}</td></tr>",
|
||||
string.Join(", ", bigOfferList), string.Join(", ", smallOfferList));
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Logo info
|
||||
var logos = new List<string>();
|
||||
if (goodyear)
|
||||
logos.Add("Goodyear");
|
||||
if (michelin)
|
||||
logos.Add("Michelin");
|
||||
if (custom)
|
||||
logos.Add("Custom");
|
||||
if (logos.Count == 0)
|
||||
logos.Add("NONE");
|
||||
|
||||
// Payment info
|
||||
string paymentMethod = string.Empty;
|
||||
if (ccOnFile)
|
||||
paymentMethod = "Credit Card on File";
|
||||
else if (callWithInfo)
|
||||
paymentMethod = "Call With Payment Info";
|
||||
else if (check)
|
||||
paymentMethod = "Check";
|
||||
|
||||
// Formulating the email to send
|
||||
em.Subject = "SBC Order Form Submission";
|
||||
em.AddAddress(enuAddressType.From, "support@keymotive.us", "Summer Growth Enrollment");
|
||||
em.AddAddress(enuAddressType.To, "support@keymotive.net", "KeyMotive Support");
|
||||
em.AddAddress(enuAddressType.CC, "jondeck@keymotive.net", "Jon Deck");
|
||||
|
||||
var targetAudience = string.Format("<tr><td>Audience:</td><td>{0}</td></tr>", string.IsNullOrWhiteSpace(audienceType) ? "NOTHING!" : audienceType);
|
||||
var locInfoString = string.Format("<tr style='padding-top:14px'><td>Location Name:</td><td>{0}</td></tr>" +
|
||||
"<tr><td>Manager:</td><td>{1}</td></tr>" +
|
||||
"<tr><td>Address:</td><td>{2}</td></tr>" +
|
||||
"<tr><td>City:</td><td>{3}</td></tr>" +
|
||||
"<tr><td>State:</td><td>{4}</td></tr>" +
|
||||
"<tr><td>Zip:</td><td>{5}</td></tr>" +
|
||||
"<tr style='padding-top:14px'><td>Phone Number:</td><td>{6}</td></tr>" +
|
||||
"<tr><td>Contact Name:</td><td>{7}</td></tr>" +
|
||||
"<tr><td>Contact Phone:</td><td>{8}</td></tr>" +
|
||||
"<tr><td>Contact Email:</td><td>{9}</td></tr>",
|
||||
locationInfo.LocationName, locationInfo.Manager, locationInfo.Address, locationInfo.City, locationInfo.State,
|
||||
locationInfo.Zip, locationInfo.PhoneNumber, locationInfo.ContactName,
|
||||
locationInfo.ContactPhone, locationInfo.ContactEmail);
|
||||
|
||||
var cardInfoString = string.Format("<tr><td>Card type:</td><td>{0}, Design {1}</td></tr>" +
|
||||
"<tr style='padding-top:14px'><td colspan='2'>Customization Options:</td></tr>" +
|
||||
"{2}" +
|
||||
"<tr><td>Logos:</td><td>{3}</td></tr>",
|
||||
cardType, cardDesign, customizationInfo, string.Join(", ", logos));
|
||||
|
||||
if (int.TryParse(requestedQuantity, out _))
|
||||
requestedQuantity = string.Format("{0:#,##0}", int.Parse(requestedQuantity));
|
||||
|
||||
var paymentString = string.Format("<tr><td>Payment Method:</td><td>{0}</td></tr>" +
|
||||
"<tr style='padding-top:14px'><td>Requested Quantity:</td><td>{1}</td></tr>" +
|
||||
"<tr><td>Additional Comments:</td><td>{2}</td></tr>", paymentMethod, requestedQuantity, additionalComments);
|
||||
var ipString = string.Format("<tr style='padding-top:20px'><td>IP Address</td><td>{0}</td></tr>",
|
||||
string.IsNullOrWhiteSpace(IpAddressService.RemoteIpAddress.ToString()) ? "NONE" : IpAddressService.RemoteIpAddress.ToString());
|
||||
|
||||
em.HtmlBody = "<div style='font-size:1.05em'><b>You have a new enrollment:</b><br /><br /><table style='font-size:1.05em;display:block;font-family: monospace;'>" +
|
||||
targetAudience + locInfoString + cardInfoString + paymentString + ipString + "</table></div>";
|
||||
|
||||
try
|
||||
{
|
||||
em.Send();
|
||||
await Console.Out.WriteLineAsync("Done sending");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
await Console.Out.WriteLineAsync("ERROR: " + e.Message);
|
||||
}
|
||||
ShowWizard = false;
|
||||
await Dialogs.AlertAsync("The Registration was submitted successfully", "Done");
|
||||
}
|
||||
}
|
||||
|
||||
#region "User Selections - Model"
|
||||
#region "User Selections - Model"
|
||||
|
||||
public bool? IsAudienceChoiceValid { get; set; } = false;
|
||||
public bool? IsCardChoiceValid { get; set; } = false;
|
||||
public bool? IsAudienceChoiceValid { get; set; } = false;
|
||||
public bool? IsCardChoiceValid { get; set; } = false;
|
||||
|
||||
public bool? IsDesignChoiceValid { get; set; } = false;
|
||||
public bool? IsDesignChoiceValid { get; set; } = false;
|
||||
|
||||
[CascadingParameter]
|
||||
public DialogFactory Dialogs { get; set; } = default!;
|
||||
[CascadingParameter]
|
||||
public DialogFactory Dialogs { get; set; } = default!;
|
||||
|
||||
public bool ProgramClosed { get; set; } = false;
|
||||
public bool ShowWizard { get; set; } = true;
|
||||
public bool ProgramClosed { get; set; } = false;
|
||||
public bool ShowWizard { get; set; } = true;
|
||||
|
||||
public string ButtonSize { get; set; } = "sm";
|
||||
public int Value { get; set; } = 0;
|
||||
public string ButtonSize { get; set; } = "sm";
|
||||
public int Value { get; set; } = 0;
|
||||
|
||||
//public TelerikForm RegisterForm { get; set; }
|
||||
public User UserModel { get; set; } = new User();
|
||||
//public TelerikForm RegisterForm { get; set; }
|
||||
public User UserModel { get; set; } = new User();
|
||||
|
||||
public TelerikForm IntroForm { get; set; } = new();
|
||||
public TelerikForm IntroForm { get; set; } = new();
|
||||
|
||||
// Variables for selecting between plastic and post
|
||||
public TelerikForm cardTypeForm { get; set; } = new();
|
||||
public CardType cardType { get; set; } = new CardType();
|
||||
public bool isPlasticCard { get; set; } = true;
|
||||
public bool isPostcard { get; set; } = false;
|
||||
public string audienceType { get; set; } = string.Empty;
|
||||
public List<AudienceType> audiences { get; set; } = new List<AudienceType>
|
||||
// Variables for selecting between plastic and post
|
||||
public TelerikForm cardTypeForm { get; set; } = new();
|
||||
public CardType cardType { get; set; } = new CardType();
|
||||
public bool isPlasticCard { get; set; } = true;
|
||||
public bool isPostcard { get; set; } = false;
|
||||
public string audienceType { get; set; } = string.Empty;
|
||||
public List<AudienceType> audiences { get; set; } = new List<AudienceType>
|
||||
{
|
||||
new AudienceType() {AudienceDescription="Send to my BEST CUSTOMERS"},
|
||||
new AudienceType() {AudienceDescription="Send to Great Prospects as well as Customers who haven't been in during the past 8 months"}
|
||||
};
|
||||
|
||||
// Variables for selecting specific design
|
||||
public TelerikForm customizationForm { get; set; } = new();
|
||||
public CustomizationOptions custOptions { get; set; } = new CustomizationOptions();
|
||||
public bool designOne = true;
|
||||
public bool designTwo = false;
|
||||
public bool designThree = false;
|
||||
public bool designCustom = false;
|
||||
// Variables for selecting specific design
|
||||
public TelerikForm customizationForm { get; set; } = new();
|
||||
public CustomizationOptions custOptions { get; set; } = new CustomizationOptions();
|
||||
public bool designOne = true;
|
||||
public bool designTwo = false;
|
||||
public bool designThree = false;
|
||||
public bool designCustom = false;
|
||||
|
||||
// Variables for selecting messaging (postcards only)
|
||||
public TelerikForm messagingForm { get; set; } = new();
|
||||
public MessagingOptions messagingOptions { get; set; } = new MessagingOptions();
|
||||
public bool verseOne = true;
|
||||
public bool verseTwo = false;
|
||||
public bool verseThree = false;
|
||||
public bool sigOne = true;
|
||||
public bool sigTwo = false;
|
||||
public bool sigThree = false;
|
||||
public string customName = string.Empty; // For sig two
|
||||
public string customTitle = string.Empty;
|
||||
public string customPhone = string.Empty;
|
||||
public string customSignature = string.Empty; // For sig three
|
||||
public bool isMessagingValid = false;
|
||||
// Variables for selecting messaging (postcards only)
|
||||
public TelerikForm messagingForm { get; set; } = new();
|
||||
public MessagingOptions messagingOptions { get; set; } = new MessagingOptions();
|
||||
public bool verseOne = true;
|
||||
public bool verseTwo = false;
|
||||
public bool verseThree = false;
|
||||
public bool sigOne = true;
|
||||
public bool sigTwo = false;
|
||||
public bool sigThree = false;
|
||||
public string customName = string.Empty; // For sig two
|
||||
public string customTitle = string.Empty;
|
||||
public string customPhone = string.Empty;
|
||||
public string customSignature = string.Empty; // For sig three
|
||||
public bool isMessagingValid = false;
|
||||
|
||||
// Variables for logo selection
|
||||
public TelerikForm logoForm { get; set; } = new();
|
||||
public LogoOptions logoOptions { get; set; } = new LogoOptions();
|
||||
public bool goodyear = false;
|
||||
public bool michelin = false;
|
||||
public bool custom = false;
|
||||
public bool isLogoValid = false;
|
||||
// Variables for logo selection
|
||||
public TelerikForm logoForm { get; set; } = new();
|
||||
public LogoOptions logoOptions { get; set; } = new LogoOptions();
|
||||
public bool goodyear = false;
|
||||
public bool michelin = false;
|
||||
public bool custom = false;
|
||||
public bool isLogoValid = false;
|
||||
|
||||
// Variables for offer selection (plastic cards only)
|
||||
public TelerikForm offerForm { get; set; } = new();
|
||||
public OfferOptions offerOptions { get; set; } = new OfferOptions();
|
||||
public bool[] bigOffers = new bool[6];
|
||||
public bool[] smallOffers = new bool[12];
|
||||
public bool isOfferSelectionValid = false;
|
||||
// Variables for offer selection (plastic cards only)
|
||||
public TelerikForm offerForm { get; set; } = new();
|
||||
public OfferOptions offerOptions { get; set; } = new OfferOptions();
|
||||
public bool[] bigOffers = new bool[6];
|
||||
public bool[] smallOffers = new bool[12];
|
||||
public bool isOfferSelectionValid = false;
|
||||
|
||||
// Location information
|
||||
public TelerikForm locationForm { get; set; } = new();
|
||||
public LocationInfo locationInfo { get; set; } = new LocationInfo();
|
||||
public string locationName { get; set; } = string.Empty;
|
||||
public string manager { get; set; } = string.Empty;
|
||||
public string address { get; set; } = string.Empty;
|
||||
public string city { get; set; } = string.Empty;
|
||||
public string state { get; set; } = string.Empty;
|
||||
public string zip { get; set; } = string.Empty;
|
||||
public string phoneNumber { get; set; } = string.Empty;
|
||||
public string contactName { get; set; } = string.Empty;
|
||||
public string contactPhone { get; set; } = string.Empty;
|
||||
public string contactEmail { get; set; } = string.Empty;
|
||||
public bool isLocationInfoValid { get; set; } = false;
|
||||
// Location information
|
||||
public TelerikForm locationForm { get; set; } = new();
|
||||
public LocationInfo locationInfo { get; set; } = new LocationInfo();
|
||||
public string locationName { get; set; } = string.Empty;
|
||||
public string manager { get; set; } = string.Empty;
|
||||
public string address { get; set; } = string.Empty;
|
||||
public string city { get; set; } = string.Empty;
|
||||
public string state { get; set; } = string.Empty;
|
||||
public string zip { get; set; } = string.Empty;
|
||||
public string phoneNumber { get; set; } = string.Empty;
|
||||
public string contactName { get; set; } = string.Empty;
|
||||
public string contactPhone { get; set; } = string.Empty;
|
||||
public string contactEmail { get; set; } = string.Empty;
|
||||
public bool isLocationInfoValid { get; set; } = false;
|
||||
|
||||
// Payment information
|
||||
public TelerikForm paymentForm { get; set; } = new();
|
||||
public PaymentInfo paymentInfo { get; set; } = new PaymentInfo();
|
||||
public string requestedQuantity = string.Empty;
|
||||
public string additionalComments = string.Empty;
|
||||
public bool ccOnFile = true;
|
||||
public bool callWithInfo = false;
|
||||
public bool check = false;
|
||||
// Payment information
|
||||
public TelerikForm paymentForm { get; set; } = new();
|
||||
public PaymentInfo paymentInfo { get; set; } = new PaymentInfo();
|
||||
public string requestedQuantity = string.Empty;
|
||||
public string additionalComments = string.Empty;
|
||||
public bool ccOnFile = true;
|
||||
public bool callWithInfo = false;
|
||||
public bool check = false;
|
||||
|
||||
#endregion
|
||||
public bool beforeMemorialDay = true;
|
||||
public bool beforeJulyFourth = false;
|
||||
|
||||
public void ToggleCardType()
|
||||
{
|
||||
isPlasticCard = !isPlasticCard;
|
||||
isPostcard = !isPostcard;
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void OnAudienceChoiceStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
IsAudienceChoiceValid = !string.IsNullOrWhiteSpace(audienceType);
|
||||
}
|
||||
public void OnCardChoiceStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
IsCardChoiceValid = true; // This is forced to be true but required nonetheless
|
||||
|
||||
}
|
||||
|
||||
public void OnDesignStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
IsDesignChoiceValid = true; // Same as card choice
|
||||
}
|
||||
|
||||
public void OnMessagingStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
isMessagingValid = true;
|
||||
}
|
||||
|
||||
public void OnLogoStepChange(WizardStepChangeEventArgs arg)
|
||||
{
|
||||
isLogoValid = true;
|
||||
}
|
||||
|
||||
public async void OnOfferStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
if (isPostcard)
|
||||
public void ToggleCardType()
|
||||
{
|
||||
isOfferSelectionValid = true;
|
||||
isPlasticCard = !isPlasticCard;
|
||||
isPostcard = !isPostcard;
|
||||
}
|
||||
else
|
||||
|
||||
public void OnAudienceChoiceStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
int bigOfferCount = 0;
|
||||
foreach (bool selection in bigOffers)
|
||||
{
|
||||
if (selection)
|
||||
bigOfferCount++;
|
||||
}
|
||||
|
||||
int smallOfferCount = 0;
|
||||
foreach (bool selection in smallOffers)
|
||||
{
|
||||
if (selection)
|
||||
smallOfferCount++;
|
||||
}
|
||||
|
||||
if (smallOfferCount == 4 && bigOfferCount == 2)
|
||||
isOfferSelectionValid = true;
|
||||
else
|
||||
isOfferSelectionValid = false;
|
||||
|
||||
if (!isOfferSelectionValid)
|
||||
{
|
||||
args.IsCancelled = true;
|
||||
await Dialogs.AlertAsync("Please select the proper amount of offers.", "You cannot proceed");
|
||||
}
|
||||
IsAudienceChoiceValid = !string.IsNullOrWhiteSpace(audienceType);
|
||||
}
|
||||
}
|
||||
|
||||
public async void OnLocationStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
isLocationInfoValid = !string.IsNullOrWhiteSpace(locationInfo.ContactEmail) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.ContactPhone) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.ContactName) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.City) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.State) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.Zip) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.PhoneNumber) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.LocationName) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.Address) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.Manager);
|
||||
|
||||
if (!isLocationInfoValid)
|
||||
public void OnCardChoiceStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
args.IsCancelled = true;
|
||||
await Dialogs.AlertAsync("Please fill out all required fields.", "You cannot proceed");
|
||||
IsCardChoiceValid = true; // This is forced to be true but required nonetheless
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#region "Models and Such"
|
||||
public void OnDesignStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
IsDesignChoiceValid = true; // Same as card choice
|
||||
}
|
||||
|
||||
public class CardType
|
||||
{
|
||||
[Required]
|
||||
public string cardChoice { get; set; } = string.Empty;
|
||||
}
|
||||
public void OnMessagingStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
isMessagingValid = true;
|
||||
}
|
||||
|
||||
public class CustomizationOptions
|
||||
{
|
||||
[Required]
|
||||
public string custOption { get; set; } = string.Empty;
|
||||
}
|
||||
public void OnLogoStepChange(WizardStepChangeEventArgs arg)
|
||||
{
|
||||
isLogoValid = true;
|
||||
}
|
||||
|
||||
public class MessagingOptions
|
||||
{
|
||||
public string verse { get; set; } = string.Empty;
|
||||
public string signature { get; set; } = string.Empty;
|
||||
}
|
||||
public async void OnOfferStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
if (isPostcard)
|
||||
{
|
||||
isOfferSelectionValid = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
int bigOfferCount = 0;
|
||||
foreach (bool selection in bigOffers)
|
||||
{
|
||||
if (selection)
|
||||
bigOfferCount++;
|
||||
}
|
||||
|
||||
public class LogoOptions
|
||||
{
|
||||
public string option { get; set; } = string.Empty;
|
||||
}
|
||||
int smallOfferCount = 0;
|
||||
foreach (bool selection in smallOffers)
|
||||
{
|
||||
if (selection)
|
||||
smallOfferCount++;
|
||||
}
|
||||
|
||||
public class OfferOptions
|
||||
{
|
||||
public string option { get; set; } = string.Empty;
|
||||
}
|
||||
if (smallOfferCount == 4 && bigOfferCount == 2)
|
||||
isOfferSelectionValid = true;
|
||||
else
|
||||
isOfferSelectionValid = false;
|
||||
|
||||
public class LocationInfo
|
||||
{
|
||||
[Required, Display(Name = "Location Name")]
|
||||
public string LocationName { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Store Manager")]
|
||||
public string Manager { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string Address { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string City { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string State { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string Zip { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Phone Number")]
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Contact Name")]
|
||||
public string ContactName { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Contact Phone")]
|
||||
public string ContactPhone { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Your Email Address")]
|
||||
public string ContactEmail { get; set; } = string.Empty;
|
||||
}
|
||||
if (!isOfferSelectionValid)
|
||||
{
|
||||
args.IsCancelled = true;
|
||||
await Dialogs.AlertAsync("Please select the proper amount of offers.", "You cannot proceed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class PaymentInfo
|
||||
{
|
||||
public string info { get; set; } = string.Empty;
|
||||
}
|
||||
public async void OnLocationStepChange(WizardStepChangeEventArgs args)
|
||||
{
|
||||
isLocationInfoValid = !string.IsNullOrWhiteSpace(locationInfo.ContactEmail) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.ContactPhone) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.ContactName) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.City) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.State) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.Zip) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.PhoneNumber) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.LocationName) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.Address) &&
|
||||
!string.IsNullOrWhiteSpace(locationInfo.Manager);
|
||||
|
||||
public class AudienceType
|
||||
{
|
||||
public string AudienceDescription { get; set; } = string.Empty;
|
||||
}
|
||||
#endregion
|
||||
if (!isLocationInfoValid)
|
||||
{
|
||||
args.IsCancelled = true;
|
||||
await Dialogs.AlertAsync("Please fill out all required fields.", "You cannot proceed");
|
||||
}
|
||||
}
|
||||
|
||||
#region "Models and Such"
|
||||
|
||||
public class CardType
|
||||
{
|
||||
[Required]
|
||||
public string cardChoice { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class CustomizationOptions
|
||||
{
|
||||
[Required]
|
||||
public string custOption { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class MessagingOptions
|
||||
{
|
||||
public string verse { get; set; } = string.Empty;
|
||||
public string signature { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class LogoOptions
|
||||
{
|
||||
public string option { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class OfferOptions
|
||||
{
|
||||
public string option { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class LocationInfo
|
||||
{
|
||||
[Required, Display(Name = "Location Name")]
|
||||
public string LocationName { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Store Manager")]
|
||||
public string Manager { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string Address { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string City { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string State { get; set; } = string.Empty;
|
||||
[Required]
|
||||
public string Zip { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Phone Number")]
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Contact Name")]
|
||||
public string ContactName { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Contact Phone")]
|
||||
public string ContactPhone { get; set; } = string.Empty;
|
||||
[Required, Display(Name = "Your Email Address")]
|
||||
public string ContactEmail { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class PaymentInfo
|
||||
{
|
||||
public string info { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class AudienceType
|
||||
{
|
||||
public string AudienceDescription { get; set; } = string.Empty;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="Telerik Blazor 13.0.0" value="C:\Program Files (x86)\Progress\Telerik UI for Blazor 13.0.0" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
|
|
@ -8,10 +8,8 @@
|
|||
<Exec Command="c:\misc\WaitForFolder $(PublishUrl) /nobeep" />
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="kmCommonLibsCore" Version="2.0.0.199" />
|
||||
<PackageReference Include="kmCommonLibsCore" Version="2.0.0.203" />
|
||||
<PackageReference Include="Telerik.SvgIcons" Version="4.8.0" />
|
||||
<PackageReference Include="Telerik.UI.for.Blazor">
|
||||
<Version>13.0.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Telerik.UI.for.Blazor" Version="13.1.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Loading…
Reference in New Issue