dot-nugget

Code and Knowledgebase Site

Code and Knowledgebase Site for Rumery Enterprises, LLC. Tampa Bay area custom software developer

How to use linq to iterate web controls

clock February 3, 2012 04:46 by author

using link I can set properties to each type of control in a control class

using OfType<>() you can pass in a type of control, like panel, and then iterate over the collection.  The example below iterates over all Panels's in an update panel control and sets all but the one passed in to visiable = false.

private void SetDisplay(string panelName)
        {
            //List<Panel> panels = (List<Panel>)this.Controls.OfType<Panel>();
            var pnls = from control in UpdatePanel1.Controls[0].Controls.OfType<Panel>()                     
                       select control;

            foreach (Panel pn in pnls)
            {
                if (pn.ID == panelName)
                    pn.Visible = true;
                else
                    pn.Visible = false;
            }

        }



get magento invoice entity using order id c#

clock November 1, 2011 10:41 by author

Couldn't find a c# example so I created one.  A customer wanted to pull notes from an Invoice to place in SAGE when the processing orders were being pulled down via the v2 API.

//pass in the order_id value from your salesOrderEntity object.

 public salesOrderInvoiceEntity[] GetSalesOrders(string orderID)
        {
            if (string.IsNullOrEmpty(this.SessionId))
                this.Login();

            filters listFilters = null;

            complexFilter cFilter = new complexFilter();

            cFilter.key = "order_id";
            cFilter.value = new associativeEntity
            {
                key = "equal",
                value = orderID
            };

            listFilters = new filters();
            listFilters.complex_filter = new complexFilter[] { cFilter };

            salesOrderInvoiceListRequest req = new salesOrderInvoiceListRequest(this.SessionId, listFilters);
            return magentoService.salesOrderInvoiceList(req).result;
        }


//I Only need the last comment but you can return the salesOrderInvoiceCommentEntity object and parse all that the invoice has.
  public string  GetInvoiceComments(string id)
        {
            if (string.IsNullOrEmpty(this.SessionId))
                this.Login();
            salesOrderInvoiceInfoResponse req = magentoService.salesOrderInvoiceInfo(new salesOrderInvoiceInfoRequest(this.SessionId, id));
            if (req.result.comments != null)
                return req.result.comments[0].comment;
            else
                return string.Empty;

        }

 

 

 



Get TimeZone List for .Net 2 C#

clock February 24, 2011 05:23 by author

This list is for .net version 3 and lower.  3.5 and 4 have a timeZoneInfo class that can provide this list. 

set your dropdown list to call the method on onLoad

 protected void DropDownListTimeZones_Load(object sender, EventArgs e)
 {
  if(!Page.IsPostBack)
  {
   DropDownList list = (DropDownList)sender;
          list.Items.Add(new ListItem("(UTC-12:00) International Date Line West", "Dateline Standard Time"));
list.Items.Add(new ListItem("(UTC-11:00) Coordinated Universal Time-11", "UTC-11"));
list.Items.Add(new ListItem("(UTC-11:00) Samoa", "Samoa Standard Time"));
list.Items.Add(new ListItem("(UTC-10:00) Hawaii", "Hawaiian Standard Time"));
list.Items.Add(new ListItem("(UTC-09:00) Alaska", "Alaskan Standard Time"));
list.Items.Add(new ListItem("(UTC-08:00) Baja California", "Pacific Standard Time (Mexico)"));
list.Items.Add(new ListItem("(UTC-08:00) Pacific Time (US & Canada)", "Pacific Standard Time"));
list.Items.Add(new ListItem("(UTC-07:00) Arizona", "US Mountain Standard Time"));
list.Items.Add(new ListItem("(UTC-07:00) Chihuahua, La Paz, Mazatlan", "Mountain Standard Time (Mexico)"));
list.Items.Add(new ListItem("(UTC-07:00) Mountain Time (US & Canada)", "Mountain Standard Time"));
list.Items.Add(new ListItem("(UTC-06:00) Central America", "Central America Standard Time"));
list.Items.Add(new ListItem("(UTC-06:00) Central Time (US & Canada)", "Central Standard Time"));
list.Items.Add(new ListItem("(UTC-06:00) Guadalajara, Mexico City, Monterrey", "Central Standard Time (Mexico)"));
list.Items.Add(new ListItem("(UTC-06:00) Saskatchewan", "Canada Central Standard Time"));
list.Items.Add(new ListItem("(UTC-05:00) Bogota, Lima, Quito", "SA Pacific Standard Time"));
list.Items.Add(new ListItem("(UTC-05:00) Eastern Time (US & Canada)", "Eastern Standard Time"));
list.Items.Add(new ListItem("(UTC-05:00) Indiana (East)", "US Eastern Standard Time"));
list.Items.Add(new ListItem("(UTC-04:30) Caracas", "Venezuela Standard Time"));
list.Items.Add(new ListItem("(UTC-04:00) Asuncion", "Paraguay Standard Time"));
list.Items.Add(new ListItem("(UTC-04:00) Atlantic Time (Canada)", "Atlantic Standard Time"));
list.Items.Add(new ListItem("(UTC-04:00) Cuiaba", "Central Brazilian Standard Time"));
list.Items.Add(new ListItem("(UTC-04:00) Georgetown, La Paz, Manaus, San Juan", "SA Western Standard Time"));
list.Items.Add(new ListItem("(UTC-04:00) Santiago", "Pacific SA Standard Time"));
list.Items.Add(new ListItem("(UTC-03:30) Newfoundland", "Newfoundland Standard Time"));
list.Items.Add(new ListItem("(UTC-03:00) Brasilia", "E. South America Standard Time"));
list.Items.Add(new ListItem("(UTC-03:00) Buenos Aires", "Argentina Standard Time"));
list.Items.Add(new ListItem("(UTC-03:00) Cayenne, Fortaleza", "SA Eastern Standard Time"));
list.Items.Add(new ListItem("(UTC-03:00) Greenland", "Greenland Standard Time"));
list.Items.Add(new ListItem("(UTC-03:00) Montevideo", "Montevideo Standard Time"));
list.Items.Add(new ListItem("(UTC-02:00) Coordinated Universal Time-02", "UTC-02"));
list.Items.Add(new ListItem("(UTC-02:00) Mid-Atlantic", "Mid-Atlantic Standard Time"));
list.Items.Add(new ListItem("(UTC-01:00) Azores", "Azores Standard Time"));
list.Items.Add(new ListItem("(UTC-01:00) Cape Verde Is.", "Cape Verde Standard Time"));
list.Items.Add(new ListItem("(UTC) Casablanca", "Morocco Standard Time"));
list.Items.Add(new ListItem("(UTC) Coordinated Universal Time", "Coordinated Universal Time"));
list.Items.Add(new ListItem("(UTC) Dublin, Edinburgh, Lisbon, London", "GMT Standard Time"));
list.Items.Add(new ListItem("(UTC) Monrovia, Reykjavik", "Greenwich Standard Time"));
list.Items.Add(new ListItem("(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", "W. Europe Standard Time"));
list.Items.Add(new ListItem("(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", "Central Europe Standard Time"));
list.Items.Add(new ListItem("(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", "Romance Standard Time"));
list.Items.Add(new ListItem("(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", "Central European Standard Time"));
list.Items.Add(new ListItem("(UTC+01:00) West Central Africa", "W. Central Africa Standard Time"));
list.Items.Add(new ListItem("(UTC+01:00) Windhoek", "Namibia Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Amman", "Jordan Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Athens, Bucharest, Istanbul", "GTB Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Beirut", "Middle East Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Cairo", "Egypt Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Damascus", "Syria Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Harare, Pretoria", "South Africa Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius", "FLE Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Jerusalem", "Jerusalem Standard Time"));
list.Items.Add(new ListItem("(UTC+02:00) Minsk", "E. Europe Standard Time"));
list.Items.Add(new ListItem("(UTC+03:00) Baghdad", "Arabic Standard Time"));
list.Items.Add(new ListItem("(UTC+03:00) Kuwait, Riyadh", "Arab Standard Time"));
list.Items.Add(new ListItem("(UTC+03:00) Moscow, St. Petersburg, Volgograd", "Russian Standard Time"));
list.Items.Add(new ListItem("(UTC+03:00) Nairobi", "E. Africa Standard Time"));
list.Items.Add(new ListItem("(UTC+03:30) Tehran", "Iran Standard Time"));
list.Items.Add(new ListItem("(UTC+04:00) Abu Dhabi, Muscat", "Arabian Standard Time"));
list.Items.Add(new ListItem("(UTC+04:00) Baku", "Azerbaijan Standard Time"));
list.Items.Add(new ListItem("(UTC+04:00) Port Louis", "Mauritius Standard Time"));
list.Items.Add(new ListItem("(UTC+04:00) Tbilisi", "Georgian Standard Time"));
list.Items.Add(new ListItem("(UTC+04:00) Yerevan", "Caucasus Standard Time"));
list.Items.Add(new ListItem("(UTC+04:30) Kabul", "Afghanistan Standard Time"));
list.Items.Add(new ListItem("(UTC+05:00) Ekaterinburg", "Ekaterinburg Standard Time"));
list.Items.Add(new ListItem("(UTC+05:00) Islamabad, Karachi", "Pakistan Standard Time"));
list.Items.Add(new ListItem("(UTC+05:00) Tashkent", "West Asia Standard Time"));
list.Items.Add(new ListItem("(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", "India Standard Time"));
list.Items.Add(new ListItem("(UTC+05:30) Sri Jayawardenepura", "Sri Lanka Standard Time"));
list.Items.Add(new ListItem("(UTC+05:45) Kathmandu", "Nepal Standard Time"));
list.Items.Add(new ListItem("(UTC+06:00) Astana", "Central Asia Standard Time"));
list.Items.Add(new ListItem("(UTC+06:00) Dhaka", "Bangladesh Standard Time"));
list.Items.Add(new ListItem("(UTC+06:00) Novosibirsk", "N. Central Asia Standard Time"));
list.Items.Add(new ListItem("(UTC+06:30) Yangon (Rangoon)", "Myanmar Standard Time"));
list.Items.Add(new ListItem("(UTC+07:00) Bangkok, Hanoi, Jakarta", "SE Asia Standard Time"));
list.Items.Add(new ListItem("(UTC+07:00) Krasnoyarsk", "North Asia Standard Time"));
list.Items.Add(new ListItem("(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi", "China Standard Time"));
list.Items.Add(new ListItem("(UTC+08:00) Irkutsk", "North Asia East Standard Time"));
list.Items.Add(new ListItem("(UTC+08:00) Kuala Lumpur, Singapore", "Malay Peninsula Standard Time"));
list.Items.Add(new ListItem("(UTC+08:00) Perth", "W. Australia Standard Time"));
list.Items.Add(new ListItem("(UTC+08:00) Taipei", "Taipei Standard Time"));
list.Items.Add(new ListItem("(UTC+08:00) Ulaanbaatar", "Ulaanbaatar Standard Time"));
list.Items.Add(new ListItem("(UTC+09:00) Osaka, Sapporo, Tokyo", "Tokyo Standard Time"));
list.Items.Add(new ListItem("(UTC+09:00) Seoul", "Korea Standard Time"));
list.Items.Add(new ListItem("(UTC+09:00) Yakutsk", "Yakutsk Standard Time"));
list.Items.Add(new ListItem("(UTC+09:30) Adelaide", "Cen. Australia Standard Time"));
list.Items.Add(new ListItem("(UTC+09:30) Darwin", "AUS Central Standard Time"));
list.Items.Add(new ListItem("(UTC+10:00) Brisbane", "E. Australia Standard Time"));
list.Items.Add(new ListItem("(UTC+10:00) Canberra, Melbourne, Sydney", "AUS Eastern Standard Time"));
list.Items.Add(new ListItem("(UTC+10:00) Guam, Port Moresby", "West Pacific Standard Time"));
list.Items.Add(new ListItem("(UTC+10:00) Hobart", "Tasmania Standard Time"));
list.Items.Add(new ListItem("(UTC+10:00) Vladivostok", "Vladivostok Standard Time"));
list.Items.Add(new ListItem("(UTC+11:00) Magadan", "Magadan Standard Time"));
list.Items.Add(new ListItem("(UTC+11:00) Solomon Is., New Caledonia", "Central Pacific Standard Time"));
list.Items.Add(new ListItem("(UTC+12:00) Auckland, Wellington", "New Zealand Standard Time"));
list.Items.Add(new ListItem("(UTC+12:00) Coordinated Universal Time+12", "UTC+12"));
list.Items.Add(new ListItem("(UTC+12:00) Fiji", "Fiji Standard Time"));
list.Items.Add(new ListItem("(UTC+12:00) Petropavlovsk-Kamchatsky - Old", "Kamchatka Standard Time"));
list.Items.Add(new ListItem("(UTC+13:00) Nuku'alofa", "Tonga Standard Time"));

 

   ListItem item = list.Items.FindByValue("Eastern Standard Time");
   if(item != null)
    item.Selected = true;
   
   LoadTimeZone();
          
  }  
 }



AjaxToolkit combox example using webservice

clock January 13, 2011 16:47 by author

uses 4.0 .Net Framework and AjaxToolkit v4

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

 <ajaxToolkit:ComboBox ID="cbProducts" runat="server" DropDownStyle="DropDownList"
                                    AutoCompleteMode="Suggest" RenderMode="Block"  AutoPostBack="true" OnSelectedIndexChanged="ComboBox1_SelectedIndexChanged"
                                    AppendDataBoundItems="false" CssClass="AquaStyle">
                                </ajaxToolkit:ComboBox>

code behind example

private void FormatPage() {

 WebServiceSoapClient wsc = new WebServiceSoapClient ();

cbProducts.DataTextField = "itemNo";

cbProducts.DataValueField = "itemNo";

cbProducts.DataSource = wscc.GetProducts(); //dataset could use generic or other bindable object

cbProducts.DataBind();

cbProducts.Items.Add("--Select Item --");  //add item to top of list

 cbProducts.SelectedValue = ""; 

}

link to more examples here



how do I setup smtp.gmail.com in asp.net?

clock September 29, 2010 12:14 by author

The code below will allow you to send email to smtp.gmail.com .  this works when you setup your domail to be hosted by google or if you have a Gmail account.

using System.Net.Mail;
using System.Net;

try

{
 

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com",587);
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod =  SmtpDeliveryMethod.Network;
smtpClient.Credentials =  new NetworkCredential("username@yourdomain.com", "password");
 

MailMessage message = new MailMessage(from, to, subject, body);

smtpClient.Send(message);
}
catch (Exception ex)
{
throw ex;

}



AutoComplete Textbox with Additional Parameters For Database

clock June 29, 2010 04:31 by author

This link points to code that shows you how to use the context key on an asp.net autocompleteextender control

example

sample C# and asp code

 aspx page
   <cc1:AutoCompleteExtender runat="server" ID="AutoCompleteExtender1" TargetControlID="txtAccount"
                    ServiceMethod="GetAccount" ServicePath="ProductsWS.asmx" MinimumPrefixLength="1"
                    ContextKey="Admin" UseContextKey="true"
                    CompletionInterval="200" EnableCaching="true">
                </cc1:AutoCompleteExtender>

aspx code behind

 if (!IsPostBack)
        {
            //set key to user name unless user is admin

            if (Convert.ToBoolean(Session["isMasterAccount"].ToString()) == true)
            {
                AutoCompleteExtender1.ContextKey = "Admin";
            }
            else
            {
                AutoCompleteExtender1.ContextKey = Session["Name"].ToString();
            }

        }

asmx page

 [WebMethod]
    public string[] GetAccount(string prefixText, int count, string contextKey)
    {
        //filter list of accounts by person logged in.
        DAL dLayer = new DAL();
        string uName = contextKey;

        return dLayer.GetAccount(prefixText, uName).ToArray();

    }

 



C# Check credit card with regex string

clock June 2, 2010 08:17 by author

using System.Text.RegularExpressions;

public string CheckCC(string ccNumb){

//reg expression checks to see if the value in ccNum "LOOKS" like a valid cc number

//will return invalid if there are non num chars or the string is not the correct length

// checks for visa MC, amex, diners club, jcb and discover

string ccRegEx = @"^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$";

Regex r = new Regex(ccRegEx, RegexOptions .IgnoreCase);

// Match the regular expression pattern against the cc text string.

Match m = r.Match(ccNum);

if (!m.Success ) return "CC number is invalid" ;

}

 



Using SMTP Relay with Exchange Online sample code (BPOS)

clock March 25, 2010 15:57 by author

Sample C# code that works with System.Net.Mail

using System.Net.Mail;
using System.Net;

 public void TestEmail()
        {
            try{
            
                SmtpClient sClient;
                NetworkCredential SMTPUserInfo = new NetworkCredential("Authoritative account", "Authoritative password");
                MailMessage mMessage = new MailMessage();
                mMessage.To.Add(" to email address" );
                mMessage.From = new MailAddress("Authoritative account"); // must use Authoritative account to send from!
             mMessage.Body = "test body";
             mMessage.Subject = "test subject";
             sClient = new SmtpClient("Smtp.mail.microsoftonline.com");
             sClient.Port = 587;
             sClient.EnableSsl = true;
             sClient.UseDefaultCredentials = false;
             sClient.Credentials = SMTPUserInfo;
             sClient.Send(mMessage);
            }
            catch (Exception ex) { throw ex; }
        }

smtp server addresses

o    North America Data Center:  Smtp.mail.microsoftonline.com
o    Europe Data Center:  Smtp.mail.emea.microsoftonline.com
o    Asia Pacific Data Center:  Smtp.mail.apac.microsoftonline.com



C# Create DataSet Relations and bind to TreeView.

clock March 14, 2010 12:28 by author

Used to create 3 level TreeView.

protected void PopNav() {

tvNav.Nodes.Clear();

DAL dLayer = new DAL();

DataSet ds = dLayer.GetNavCategory();

ds.Relations.Add("CatToProd", ds.Tables["Cat"].Columns["Category"], ds.Tables["Prod"].Columns["Category"]);

ds.Relations.Add("ProdToFile", ds.Tables["Prod"].Columns["productid"], ds.Tables["FileTypes"].Columns["productid"]);

TreeNode nodeCat;

TreeNode nodeProd;

TreeNode nodeFile;

foreach (DataRow rowCat in ds.Tables["Cat"].Rows)

{

nodeCat = new TreeNode();

nodeCat.Expanded = false;

nodeCat.SelectAction = TreeNodeSelectAction.Expand;

 

nodeCat.Text = rowCat["Category"].ToString();

tvNav.Nodes.Add(nodeCat);

foreach (DataRow rowProd in rowCat.GetChildRows("CatToProd"))

{

nodeProd = new TreeNode();

nodeProd.Expanded = false;

nodeProd.Text = rowProd["ShortDescription"].ToString();

nodeProd.Value = rowProd["productid"].ToString();

nodeCat.ChildNodes.Add(nodeProd);

foreach (DataRow rowFileType in rowProd.GetChildRows("ProdToFile"))

{

nodeFile = new TreeNode();

nodeFile.Text = rowFileType["FileType"].ToString();

nodeFile.Value = rowFileType["productid"].ToString();

nodeProd.ChildNodes.Add(nodeFile);

}

}

}

}

///////////////DAL method

public DataSet GetNavCategory()

{

DataSet ds = new DataSet();

SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["RenewLifeConnStr"].ConnectionString);

string sql = @"dbo.GetAllCategories";

string sqlProd = @"dbo.GetAllCategoryDescriptions";

string sqlFileType = @"dbo.GetAllFileTypesByProduct";

SqlDataAdapter daCat = new SqlDataAdapter(sql, cn);

SqlDataAdapter daProd = new SqlDataAdapter(sqlProd, cn);

SqlDataAdapter daFileType = new SqlDataAdapter(sqlFileType, cn);

daCat.SelectCommand.CommandType = CommandType.StoredProcedure;

daCat.SelectCommand.CommandTimeout = 20000;

daProd.SelectCommand.CommandType = CommandType.StoredProcedure;

daProd.SelectCommand.CommandTimeout = 20000;

daFileType.SelectCommand.CommandType = CommandType.StoredProcedure;

daFileType.SelectCommand.CommandTimeout = 20000;

using (cn)

{

cn.Open();

daCat.Fill(ds, "Cat");

daProd.Fill(ds, "Prod");

daFileType.Fill(ds, "FileTypes");

}

return ds;

}



C# Sql Transaction Example

clock March 14, 2010 12:27 by author

//Create Transaction object and use test to check sql result.
//If result is bad then use rollback method
//uses System.Data.Common
//Create connection

object DbConnection myConn = myDB.CreateConnection();

Using (myConn)
{
 myConn.Open();
 DbTransaction myTran = myConn.BeginTransaction();
 cmdInsert.Connection = myConn;
 cmdInsertt.Transaction = myTran;
 cmdInsert.ExecuteNonQuery();
 mastID = Convert.ToInt32(cmdInsert.Parameters["@RecordID"].Value);

 if (mastID > 0 )
 {
  myTran.Commit();
 }
 else
 {
  myTran.Rollback();
 }
}



Sign in