本文整理汇总了C#中Alert.AddError方法的典型用法代码示例。如果您正苦于以下问题:C# Alert.AddError方法的具体用法?C# Alert.AddError怎么用?C# Alert.AddError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Alert
的用法示例。
在下文中一共展示了Alert.AddError方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: btnSubmit_Click
protected void btnSubmit_Click(object sender, EventArgs e)
{
BrokenRulesDisplay.ResetBrokenRules();
Alert alert = new Alert(BrokenRulesDisplay);
bool canSave = true;
#region Error Checking
// Check if a stack is selected
if (lstSwitches.SelectedIndex < 0)
{
alert.AddError("Select Stack Error", "Both a device and a VLAN must be selected before saving the record.");
canSave = false;
}
// Check if the selected VoIP VLAN is used as a Native or Tagged on any interfaces
if (canSave && lstVLANs.SelectedIndex != 0)
{
string query = @"SELECT COUNT(*)
FROM InterfaceVLANs
WHERE VLANID = " + lstVLANs.SelectedValue;
int matches = int.Parse(Risque.Utility.SqlHelper.GetSingleSqlValue(query, sdsSwitches.ConnectionString));
if (matches != 0)
{
alert.AddError("In Use Error", "This VLAN is used elsewhere. A VoIP VLAN cannot be used as a tagged or native VLAN.");
canSave = false;
}
}
#endregion Error Checking
if (canSave)
{
// Get the Stack's properties.
DeviceManagementGroup dmg = DeviceManagementGroup.GetByIdentification(int.Parse(lstSwitches.SelectedValue));
// Assign the VoIP VLAN to the stack.
dmg.VoIPVLANID = lstVLANs.SelectedIndex != 0 ? (int?) int.Parse(lstVLANs.SelectedValue) : null;
// Update the VLAN to be a VoIP Vlan
if (lstVLANs.SelectedIndex != 0)
{
Vlan v = Vlan.GetByIdentification(int.Parse(lstVLANs.SelectedValue));
v.IsVoIP = true;
v.Save();
}
// Save settings & display success mesage.
dmg.Save();
alert.AddSuccess("Success", "Successfully associated device " + lstSwitches.SelectedItem + " with VLAN " + lstVLANs.SelectedItem + ".");
}
alert.ShowBrokenRules();
}
示例2: chkItemEdit_CheckedChanged
//.........这里部分代码省略.........
lblItemNewVLANLabel.Text = @"New VLAN:";
}
else
lblItemNewVLANLabel.Text = @"New Native VLAN:";
if ((lblItemServices.Text == "None" && lblItemOldServices.Text == "None") ||
(lblItemServices.Text == "None" && !pnlItemOldServices.Visible))
pnlItemServices.Visible = false;
pnlItemBilling.Visible = false;
pnlItemAccount.Visible = false;
ddlItemNewSpeed.Visible = false;
ddlItemNewVLAN.Visible = false;
lstItemServices.Visible = false;
lstItemTaggedVLANs.Visible = false;
lblItemNewSpeed.Visible = true;
lblItemNewVLAN.Visible = true;
lblItemServices.Visible = true;
lblItemTaggedVLANs.Visible = true;
litAccountNumbers.Visible = true;
// SAVE ACCOUNT NUMBERS HERE because they're textboxes, and nobody likes a postback after a textbox.
// Seriously, I'd rather drink skol vodka than postback after a textbox.
var error = false;
var alert = new Alert(BrokenRulesDisplay);
if (ddlAccountType.SelectedValue == "1")
{
// cost center
long validator;
if (txtAcct1.Text.Trim().Length != 8 || !long.TryParse(txtAcct1.Text.Trim(), out validator) ||
!LineItem.VerifyNumber("FUND", txtAcct1.Text.Trim()))
{
error = true;
alert.AddError("Bad Fund", "Fund must be a valid 8-digit number.");
}
if (txtAcct2.Text.Trim().Length != 10 || !long.TryParse(txtAcct2.Text.Trim(), out validator) ||
!LineItem.VerifyNumber("COST", txtAcct2.Text.Trim()))
{
error = true;
alert.AddError("Bad Cost Center", "Cost Center must be a valid 10-digit number.");
}
if ((txtAcct3.Text.Trim().Length != 0 && txtAcct3.Text.Trim().Length != 10) ||
(txtAcct3.Text.Trim().Length != 0 && !long.TryParse(txtAcct3.Text.Trim(), out validator)))
{
error = true;
alert.AddError("Bad SIO", "SIO must be a 10-digit number.");
}
}
else if (ddlAccountType.SelectedValue == "2")
{
// real order
long validator;
if (txtAcct1.Text.Trim().Length != 8 || !long.TryParse(txtAcct1.Text.Trim(), out validator) ||
!LineItem.VerifyNumber("FUND", txtAcct1.Text.Trim()))
{
error = true;
alert.AddError("Bad Fund", "Fund must be a valid 8-digit number.");
}
if (txtAcct2.Text.Trim().Length != 10 || !long.TryParse(txtAcct2.Text.Trim(), out validator) ||
!LineItem.VerifyNumber("ORDER", txtAcct2.Text.Trim()))
{
error = true;
alert.AddError("Bad Real Order", "Real Order must be a valid 10-digit number.");
}
}
else if (ddlAccountType.SelectedValue == "3")
示例3: btnSave_Click
//--Save and Submit all Line Items to be created for Tickets
protected void btnSave_Click(object sender, EventArgs e)
{
// Validate that all required data is present for the current line items state
List<int> createdTickets = new List<int>();
Alert alert = new Alert(BrokenRulesDisplay);
bool needsPriorityConfirmed = false;
bool canSave = true;
if (txtContactName.Text.Trim() == string.Empty)
{
rfvName.IsValid = false;
txtContactName.Focus();
canSave = false;
}
if (txtContactPhone.Text.Trim() == string.Empty)
{
rfvPhone.IsValid = false;
txtContactPhone.Focus();
canSave = false;
}
if (txtContactEmail.Text.Trim() == string.Empty)
{
rfvEmail.IsValid = false;
txtContactEmail.Focus();
canSave = false;
}
Match emailMatch = Regex.Match(txtContactEmail.Text.Trim(), @"\b[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\b");
if (txtContactEmail.Text.Trim() != "" && !emailMatch.Success)
{
canSave = false;
alert.AddError("Bad email", "Contact Email must be a valid email address.");
}
if (AmdLineItems.Rows.Count == 0 && RepairLineItems.Rows.Count == 0)
{
canSave = false;
alert.AddError("No items", "A ticket must have at least one line item before being submitted.");
}
// save priority and comments to datatable then check if required fields are present
PreservePriorityAndComments();
//
foreach (RepeaterItem item in rptBuildings.Items)
{
HiddenField rowLocationId = (HiddenField)item.FindControl("rowLocationID");
RadioButton rdoPriorityRush = (RadioButton)item.FindControl("rdoPriorityRush");
RadioButton rdoPriorityScheduled = (RadioButton)item.FindControl("rdoPriorityScheduled");
if (rdoPriorityRush.Checked)
{ // Rush Priority
needsPriorityConfirmed = true;
TextBox txtRushRationale = (TextBox)item.FindControl("txtRushRationale");
string validateLength = txtRushRationale.Text.Trim();
validateLength = validateLength.Replace("\r\n", " ");
Match match = Regex.Match(validateLength, @"^((\b[a-zA-Z.]{1,40}\b).*){3,}$");
if (!match.Success)
{
canSave = false;
alert.AddError("Needs rush rationale", "Rush Priority Rationale for building " + Location.GetByIdentification(int.Parse(rowLocationId.Value)).ShortName + " must contain at least 3 words.");
}
}
else if (rdoPriorityScheduled.Checked)
{ // Scheduled Priority
needsPriorityConfirmed = true;
TextBox txtScheduledDate = (TextBox)item.FindControl("txtScheduledDate");
TextBox txtScheduledTime = (TextBox)item.FindControl("txtScheduledTime");
DateTime scheduled;
if (txtScheduledDate.Text == "" || txtScheduledTime.Text == "")
{
canSave = false;
alert.AddError("Needs date", "Scheduled Date and Time for building " + Location.GetByIdentification(int.Parse(rowLocationId.Value)).ShortName + " must be a valid date and time.");
}
else if (DateTime.TryParse(txtScheduledDate.Text.Trim() + " " + txtScheduledTime.Text.Trim(), out scheduled))
{
if (DateTime.Now.AddDays(Ticket.GetNumberBusinessDaysFromDate(DateTime.Now, 3)) > scheduled)
{
canSave = false;
alert.AddError("Needs date", "Scheduled Date and Time for building " + Location.GetByIdentification(int.Parse(rowLocationId.Value)).ShortName + " must be at least 3 business days from now.");
}
}
}
}
if (needsPriorityConfirmed)
{
if (!chkPriorityConfirm.Checked)
{
canSave = false;
alert.AddError("Needs priority confirmed", "You must acknowledge the 3-day business rule before submitting this ticket.");
}
}
if (canSave)
//.........这里部分代码省略.........
示例4: btnEditDueBy_Click
// -- Save Edit Due By Date -- For Ticket Admins ONLY
protected void btnEditDueBy_Click(object sender, EventArgs e)
{
var ticket = getTicket(); // Grab current Ticket Info
showModal_EditDueBy.Value = "true"; // Show Modal
var errorChkModal = new Alert(BrokenRulesDisplayEditDueBy);
BrokenRulesDisplayEditDueBy.ResetBrokenRules(); // Reset Broken Rules
var isValid = true;
if (txtEditDueDate.Text.Trim() == string.Empty) //A date must be entered
{
errorChkModal.AddError("0", "Please enter a date.");
isValid = false;
}
if (txtEditDueTime.Text.Trim() == string.Empty) //A time must be entered
{
errorChkModal.AddError("1", "Please enter a time.");
isValid = false;
}
if ((txtEditDueTime.Text.Trim() != string.Empty || txtEditDueDate.Text.Trim() != string.Empty) &&
DateTime.Parse(txtEditDueDate.Text + ' ' + txtEditDueTime.Text) < DateTime.Now)
{
errorChkModal.AddError("2", "Date and time can not be before " + DateTime.Now + ".");
isValid = false;
}
if (isValid == false)
{
//Set Values to default
var dueDateValues = lblTicketDue.Text.Split(' ');
txtEditDueDate.Text = dueDateValues[0];
txtEditDueTime.Text = dueDateValues[1] + ' ' + dueDateValues[2];
errorChkModal.ShowBrokenRules();
return;
}
if (isValid) // Update new Date/Time
{
var newDueDate = DateTime.Parse(txtEditDueDate.Text + ' ' + txtEditDueTime.Text);
ticket.DueDate = newDueDate;
if (rdoNewDueDateScheduled_YES.Checked)
{
ticket.ScheduledDate = newDueDate;
ticket.PriorityID = 3;
}
else
{
ticket.ScheduledDate = null;
ticket.PriorityID = 1;
}
ticket = ticket.Save();
lblTicketDue.Text = ticket.ScheduledDate == null
? (ticket.DueDate == null ? "N/A" : ((DateTime)ticket.DueDate).ToString("M/d/yyyy h:mm tt"))
: ((DateTime)ticket.ScheduledDate).ToString("M/d/yyyy h:mm tt") + " (s)";
UpdatePriorityLabel(ticket);
showModal_EditDueBy.Value = "false";
}
}
示例5: VerifyAddLine
//-- Validate User Input and Values
private bool VerifyAddLine(TicketsBusiness.Action action)
{
// verify data was entered properly
bool canSave = true;
Alert alert = new Alert(AddLineBrokenRules);
if (action.Identification == 1 || action.Identification == 2)
{
// activate / modify rules
// speed is required
if (ddlSpeed.SelectedIndex == 0)
{
canSave = false;
alert.AddError("No Speed", "Speed is a required field.");
}
// at least one vlan is required
if (ddlVLAN.SelectedIndex == 0)
{
canSave = false;
alert.AddError("No VLAN", "VLAN is a required field.");
}
if (pnlTrunk.Visible)
{
bool dupeVlan = false;
foreach (ListItem vlan in lstVLAN.Items)
{
if (vlan.Selected)
{
if (ddlVLAN.SelectedIndex > 0 && vlan.Value == ddlVLAN.SelectedValue)
{
dupeVlan = true;
break;
}
}
}
if (dupeVlan)
{
canSave = false;
alert.AddError("Duplicate VLAN", "The Native VLAN selected cannot also be selected as a Tagged VLAN. Please ensure all VLAN selections are unique.");
}
}
// valid account info is required
if (ddlAccountType.SelectedIndex == 0)
{
canSave = false;
alert.AddError("No AccountType", "Account Type is a required field.");
}
else
{
if (AcctValidation(alert) == false)
{
canSave = false;
}
}
}
if (!canSave)
alert.ShowBrokenRules();
return canSave;
}
示例6: CheckLine_csv
// Validate entire line item row within a bulk upload
private bool CheckLine_csv(string[] values, Alert alert, List<string> validPiCs)
{
bool valid = true;
TicketsBusiness.Action action = null;
Interface pic = null;
// check that the line is valid
/* 0 = Line
* 1 = Action
* 2 = PIC
* 3 = Speed
* 4 = VLAN
* 5 = Tagged VLANs
* 6 = Services
* 7 = Fund
* 8 = Cost Center
* 9 = Real Order
* 10 = WBS
* 11 = SIO
* 12 = BPN
* 13 = Repair Notes
* 14 = Phone Only Connection
*/
// Validate Action
if (values[1] != string.Empty)
{
if (FormatAction_csv(values[1]) == TicketsBusiness.Action.Activate)
action = TicketsBusiness.Action.GetByIdentification(1);
else if (FormatAction_csv(values[1]) == TicketsBusiness.Action.Modify)
action = TicketsBusiness.Action.GetByIdentification(2);
else if (FormatAction_csv(values[1]) == TicketsBusiness.Action.Deactivate)
action = TicketsBusiness.Action.GetByIdentification(3);
else if (FormatAction_csv(values[1]) == TicketsBusiness.Action.Repair)
action = TicketsBusiness.Action.GetByIdentification(4);
else
{
valid = false;
alert.AddError("Bad action", "Action value at line " + values[0] + " is invalid.");
}
}
else
{
valid = false;
alert.AddError("Bad action", "Action value at line " + values[0] + " is required.");
}
// Validate PICID
if (values[2] != string.Empty)
{
pic = GetPic(values[2]);
Ticket existing = pic != null ? LineItem.GetPICInActiveTicket(pic.FriendlyLongName) : null;
if (pic == null)
{
valid = false;
alert.AddError("Bad pic", "PIC ID value at line " + values[0] + " is a PIC that is not in Risque.");
}
else if (AmdLineItems.Select("PICID = '" + pic.FriendlyLongName + "'").Length != 0 || RepairLineItems.Select("PICID = '" + pic.FriendlyLongName + "'").Length != 0)
{
//check if PIC is in an existing line already
valid = false;
alert.AddError("Bad pic", "PIC ID value at line " + values[0] + " is already in a line item below.");
}
else if (existing != null)
{
// check if PIC is in an open ticket already
valid = false;
alert.AddError("Bad pic", "Line " + values[0] + ": There is another open data ticket in the system that is requesting action on this same PIC. The other ticket number is " + existing.Identification + " and was submitted by " + existing.CreatorName + ". You may not request action on this PIC until the other ticket has been completed.");
}
else if (!InterfaceRestrictionAssignment.IsPICChangeAllowed(pic, RisqueContext.CurrentUser) && !AuthorizationProvider.HasPermission("PICLockBypass"))
{
// check if PIC is locked
valid = false;
alert.AddError("PIC locked", "The PIC at line " + values[0] + " is locked and changes cannot be submitted by you.");
}
else if (pic.Device.DeviceDefinition.DeviceTypeID == 1005 && !AuthorizationProvider.HasPermission("APPICSubmitter"))
{
// check if AP PIC
valid = false;
alert.AddError("AP PIC", "Sorry, but the PIC at line " + values[0] + " is reserved for use only by ITaP Data Networks personnel. Please select a different PIC ID to proceed.");
}
else if (validPiCs.Contains(values[2], StringComparer.InvariantCultureIgnoreCase))
{
valid = false;
alert.AddError("Bad pic",
"PIC ID: <b>" + values[2] + "</b> at line item <b>" + values[0] +
"</b> is duplicated in this file. Please correct the file and try again.");
}
else //--Add Valid PICs to a List--//
validPiCs.Add(values[2]);
}
else
{
valid = false;
alert.AddError("Bad pic", "PIC ID value at line " + values[0] + " is required.");
}
// Leave the rest of this method if it is a Phone Only Connection
if (values[14] == "Y".ToUpperInvariant())
{
var roomId = pic.Device.RoomID.ToString();
var isVoip = string.Empty;
//.........这里部分代码省略.........
示例7: AcctValidation_csv
//Validate Account Data
private static bool AcctValidation_csv(IReadOnlyList<string> accountNums, Alert alert)
{
string fund = accountNums[7]; // Fund
string costCenter = accountNums[8]; // Cost Center
string realOrder = accountNums[9]; // Real Order
string wbsElement = accountNums[10]; // WBS Element
string siOrder = accountNums[11]; //Statistical Internal order
string bpn = accountNums[12]; // Business Partner Number
long validator; // Validator for TryParse to determine if it contains all numbers. (Faster than regex).
// Cost Center
if (!string.IsNullOrEmpty(fund) && !string.IsNullOrEmpty(costCenter))
{
// cost center
if (fund.Trim().Length != 8 || !long.TryParse(fund.Trim(), out validator) || !LineItem.VerifyNumber("FUND", fund.Trim()))
{
alert.AddError("Bad Fund",
"Fund at line " + accountNums[0] + " must be a valid 8-digit number.");
return false;
}
if (costCenter.Trim().Length != 10 || !long.TryParse(costCenter.Trim(), out validator) || !LineItem.VerifyNumber("COST", costCenter.Trim()))
{
alert.AddError("Bad Cost Center",
"Cost Center at line " + accountNums[0] + " must be a valid 10-digit number.");
return false;
}
if ((siOrder.Trim().Length != 0 && siOrder.Trim().Length != 10) || (siOrder.Trim().Length != 0 && !long.TryParse(siOrder.Trim(), out validator)))
{
alert.AddError("Bad SIO",
"SIO at line " + accountNums[0] + " must be a 10-digit number.");
return false;
}
if (!string.IsNullOrWhiteSpace(bpn) || !string.IsNullOrWhiteSpace(wbsElement) || !string.IsNullOrWhiteSpace(realOrder))
{
alert.AddError("Invalid Account",
"Account number at line " + accountNums[0] + " does not match a valid billing scenario.");
return false;
}
}
// Real Order
else if (!string.IsNullOrEmpty(fund) && !string.IsNullOrEmpty(realOrder))
{
if (fund.Trim().Length != 8 || !long.TryParse(fund.Trim(), out validator) || !LineItem.VerifyNumber("FUND", fund.Trim()))
{
alert.AddError("Bad Fund", "Fund at line " + accountNums[0] + " must be a valid 8-digit number.");
return false;
}
if (realOrder.Trim().Length != 10 || !long.TryParse(realOrder.Trim(), out validator) || !LineItem.VerifyNumber("ORDER", realOrder.Trim()))
{
alert.AddError("Bad Real Order", "Real Order at line " + accountNums[0] + " must be a valid 10-digit number.");
return false;
}
if (!string.IsNullOrWhiteSpace(siOrder) || !string.IsNullOrWhiteSpace(bpn) || !string.IsNullOrWhiteSpace(costCenter))
{
alert.AddError("Invalid Account1",
"Account number at line " + accountNums[0] + " does not match a valid billing scenario.");
return false;
}
}
else if (!string.IsNullOrEmpty(wbsElement))
{
Match match = Regex.Match(wbsElement, @"\bC[.][0-9][0-9][.][0-9][0-9][0-9][0-9][0-9]\b");
if (wbsElement.Trim().Length != 10 || !match.Success || !LineItem.VerifyNumber("WBS", wbsElement.Trim().Replace(".", string.Empty)))
{
alert.AddError("Bad WBS", "WBS at line " + accountNums[0] + " must be a valid 7-digit number.");
return false;
}
if ((siOrder.Trim().Length != 0 && siOrder.Trim().Length != 10) || (siOrder.Trim().Length != 0 && !long.TryParse(siOrder.Trim(), out validator)))
{
alert.AddError("Bad SIO", "SIO at line " + accountNums[0] + " must be a 10-digit number.");
return false;
}
if (!string.IsNullOrWhiteSpace(bpn) || !string.IsNullOrWhiteSpace(fund) || !string.IsNullOrWhiteSpace(costCenter) || !string.IsNullOrWhiteSpace(realOrder))
{
alert.AddError("Invalid Account1",
"Account number at line " + accountNums[0] + " does not match a valid billing scenario.");
return false;
}
}
// Business Parter Number (BPN)
else if (!string.IsNullOrEmpty(bpn))
{
if (bpn.Trim().Length != 7 || !bpn.Trim().StartsWith("3") || !long.TryParse(bpn.Trim(), out validator))
{
alert.AddError("Bad BPN", "Business Partner Number at line " + accountNums[0] + " must be a 7-digit number starting with '3'.");
return false;
}
if (!string.IsNullOrWhiteSpace(fund) || !string.IsNullOrWhiteSpace(wbsElement) || !string.IsNullOrWhiteSpace(realOrder) || !string.IsNullOrWhiteSpace(costCenter) || !string.IsNullOrWhiteSpace(siOrder))
{
alert.AddError("Invalid Account1",
"Account number at line " + accountNums[0] + " does not match a valid billing scenario.");
return false;
}
}
else // No Valid Account
{
alert.AddError("Bad account", "No valid account number detected at line " + accountNums[0] + ".");
return false;
}
//.........这里部分代码省略.........
示例8: AcctValidation
// Billing and Text Box Rule Validation and Bulk Upload Validation
protected bool AcctValidation(Alert alert)
{
bool canSave = true;
// Verify Account Info
switch (ddlAccountType.SelectedValue)
{
case "1": // Cost Center
{
long validator;
if (txtFund.Text.Trim().Length != 8 || !long.TryParse(txtFund.Text.Trim(), out validator) || !LineItem.VerifyNumber("FUND", txtFund.Text.Trim()))
{
canSave = false;
alert.AddError("Bad Fund", "Fund must be a valid 8-digit number.");
}
if (txtCostCenter.Text.Trim().Length != 10 || !long.TryParse(txtCostCenter.Text.Trim(), out validator) || !LineItem.VerifyNumber("COST", txtCostCenter.Text.Trim()))
{
canSave = false;
alert.AddError("Bad Cost Center", "Cost Center must be a valid 10-digit number.");
}
if ((txtSIO.Text.Trim().Length != 0 && txtSIO.Text.Trim().Length != 10) || (txtSIO.Text.Trim().Length != 0 && !long.TryParse(txtSIO.Text.Trim(), out validator)))
{
canSave = false;
alert.AddError("Bad SIO", "SIO must be a 10-digit number.");
}
break;
}
case "2": // Real Order
{
long validator;
if (txtFund.Text.Trim().Length != 8 || !long.TryParse(txtFund.Text.Trim(), out validator) || !LineItem.VerifyNumber("FUND", txtFund.Text.Trim()))
{
canSave = false;
alert.AddError("Bad Fund", "Fund must be a valid 8-digit number.");
}
if (txtRealOrder.Text.Trim().Length != 10 || !long.TryParse(txtRealOrder.Text.Trim(), out validator) || !LineItem.VerifyNumber("ORDER", txtRealOrder.Text.Trim()))
{
canSave = false;
alert.AddError("Bad Real Order", "Real Order must be a valid 10-digit number.");
}
break;
}
case "3": // WBS Element
{
long validator;
Match match = Regex.Match(txtWBS.Text, @"\bC[.][0-9][0-9][.][0-9][0-9][0-9][0-9][0-9]\b");
if (txtWBS.Text.Trim().Length != 10 || !match.Success || !LineItem.VerifyNumber("WBS", txtWBS.Text.Trim().Replace(".", string.Empty)))
{
canSave = false;
alert.AddError("Bad WBS", "WBS must be a valid 7-digit number.");
}
if ((txtSIO.Text.Trim().Length != 0 && txtSIO.Text.Trim().Length != 10) || (txtSIO.Text.Trim().Length != 0 && !long.TryParse(txtSIO.Text.Trim(), out validator)))
{
canSave = false;
alert.AddError("Bad SIO", "SIO must be a 10-digit number.");
}
break;
}
case "4": // Business Partner Number
{
long validator;
if (txtBPN.Text.Trim().Length != 7 || !txtBPN.Text.Trim().StartsWith("3") || !long.TryParse(txtBPN.Text.Trim(), out validator))
{
canSave = false;
alert.AddError("Bad BPN", "Business Partner Number must be a 7-digit number starting with '3'.");
}
break;
}
default:
{
canSave = false;
alert.AddWarning("No Account", "Select an Account Type");
break;
}
}
if (canSave == false) // Send back to user to fix Account Errors
{
alert.ShowBrokenRules();
return false;
}
else
return true;
}
示例9: btnUpload_Click
protected void btnUpload_Click(object sender, EventArgs e)
{
var alert = new Alert(BulkUploadBrokenRulesDisplay);
bool valid = true;
// get file
Stream csvFile = uplPICs.PostedFile.InputStream;
var csvName = uplPICs.PostedFile.FileName;
//
if (csvName == string.Empty)
{
valid = false;
alert.AddError("No file", "Please select a file and click Upload CSV File.");
}
// check size
if (valid && uplPICs.PostedFile.ContentLength >= 35840)
{
valid = false;
alert.AddError("Too large", "File size is too large. Files must be smaller than 35 KB.");
}
// check extension
if (valid)
{
string[] fileExt = csvName.Split('.');
string ext = fileExt[fileExt.Length - 1];
if (ext.ToLower() != "csv")
{
valid = false;
alert.AddError("Not CSV", "File uploaded must have an extension of \".csv\".");
}
}
// Create StreamReader
StreamReader sr = new StreamReader(csvFile);
try
{
if (valid)
{
int i = 0;
string line;
// Keep track of PICS to deduplicate
List<string> validPiCs = new List<string>();
// ENTER readline loop
while ((line = sr.ReadLine()) != null)
{
// check line
if (line.Equals(string.Empty) || i == 0)
{
i++;
continue;
}
String strpattern = "[0-9a-z,A-Z\t\v\r\n]";
if (!Regex.IsMatch(line, strpattern))
{
valid = false;
alert.AddError("Line invalid", "Line " + (i + 1) + " is invalid.");
continue;
}
//--Split the Line into an Array of Strings using Commas
string[] values = line.Split(Convert.ToChar(","));
//--Validate Line Numbers
String strlinepattern = "^[0-9]+$";
if (!Regex.IsMatch(values[0], strlinepattern))
{
valid = false;
alert.AddError("Invalid line number", "Line number at line " + i + " is invalid.");
}
//Run validation to ensure the line items are in the correct format
if (!CheckLine_csv(values, alert, validPiCs))
{
valid = false;
}
i++;
}
if (!validPiCs.Any())
{
valid = false;
alert.AddWarning("No Data", "There were no records in the bulk upload file to be processed.");
}
if (valid)
{
i = 0;
// Passed checkCSVLine Method -- So add to Line Items
csvFile.Seek(0, SeekOrigin.Begin); // Start at the beginning
while ((line = sr.ReadLine()) != null)
{
if (line.Equals(string.Empty) || i == 0)
{
i++;
continue;
}
//--Fix Excel Weirdness and smart single quotes and apostrophe--//
line = Regex.Replace(line, "[\u2018\u2019\u201A]", "'");
//.........这里部分代码省略.........