Check out this new site for custom sharepoint development:
Custom Sharepoint Application Development
Friday, October 29, 2010
Wednesday, October 20, 2010
LINQ code to edit vs insert new records
Another post in the series: Things other developers do that drive me crazy
Here's an example of someone else's code that I'm currently working with:
Ok it's not terrible. But there is one line that seriously bugs me. It's this one:
if(ddlProductGroups.SelectedValue == "0") Data.CurrentContext.PRODUCTGROUPs.InsertOnSubmit(AddProductGroup);
This code is written to handle new records being inserted and existing records being updated based on what is selected in the drop down list ddlProductGroups. Why do we need to check if the ddlProductGroups.SelectedValue is "0"? In the beginning of the code block there is already this:
if (ddlProductGroups.SelectedIndex == 0)
{
AddProductGroup = new PRODUCTGROUP();
AddProductGroup.DateCreated = DateTime.Now;
}
So just change it to this:
if (ddlProductGroups.SelectedIndex == 0)
{
AddProductGroup = new PRODUCTGROUP();
AddProductGroup.DateCreated = DateTime.Now;
Data.CurrentContext.PRODUCTGROUPs.InsertOnSubmit(AddProductGroup);
}
There, now you don't need that subsequent "if" statement. You can instance a new PRODUCTGROUP object, set the date created, and tell LINQ to InsertOnSubmit all in the same block of code.
Here's an example of someone else's code that I'm currently working with:
PRODUCTGROUP AddProductGroup;
if (ddlProductGroups.SelectedIndex == 0)
{
AddProductGroup = new PRODUCTGROUP();
AddProductGroup.DateCreated = DateTime.Now;
}
else
AddProductGroup = ProductManager.GetProductGroupByID(Convert.ToInt32(ddlProductGroups.SelectedValue));
AddProductGroup.DateModified = DateTime.Now;
AddProductGroup.LastUpdatedBy = UserProfile.GetUserGuid(User.Identity.Name);
AddProductGroup.ProductGroupName = txtProductGroupName.Text;
if(ddlProductGroups.SelectedValue == "0") Data.CurrentContext.PRODUCTGROUPs.InsertOnSubmit(AddProductGroup);
Data.CurrentContext.SubmitChanges();
ProductGroupID = AddProductGroup.ProductGroupID;
if (ddlProductGroups.SelectedIndex == 0)
{
AddProductGroup = new PRODUCTGROUP();
AddProductGroup.DateCreated = DateTime.Now;
}
else
AddProductGroup = ProductManager.GetProductGroupByID(Convert.ToInt32(ddlProductGroups.SelectedValue));
AddProductGroup.DateModified = DateTime.Now;
AddProductGroup.LastUpdatedBy = UserProfile.GetUserGuid(User.Identity.Name);
AddProductGroup.ProductGroupName = txtProductGroupName.Text;
if(ddlProductGroups.SelectedValue == "0") Data.CurrentContext.PRODUCTGROUPs.InsertOnSubmit(AddProductGroup);
Data.CurrentContext.SubmitChanges();
ProductGroupID = AddProductGroup.ProductGroupID;
Ok it's not terrible. But there is one line that seriously bugs me. It's this one:
if(ddlProductGroups.SelectedValue == "0") Data.CurrentContext.PRODUCTGROUPs.InsertOnSubmit(AddProductGroup);
This code is written to handle new records being inserted and existing records being updated based on what is selected in the drop down list ddlProductGroups. Why do we need to check if the ddlProductGroups.SelectedValue is "0"? In the beginning of the code block there is already this:
if (ddlProductGroups.SelectedIndex == 0)
{
AddProductGroup = new PRODUCTGROUP();
AddProductGroup.DateCreated = DateTime.Now;
}
So just change it to this:
if (ddlProductGroups.SelectedIndex == 0)
{
AddProductGroup = new PRODUCTGROUP();
AddProductGroup.DateCreated = DateTime.Now;
Data.CurrentContext.PRODUCTGROUPs.InsertOnSubmit(AddProductGroup);
}
There, now you don't need that subsequent "if" statement. You can instance a new PRODUCTGROUP object, set the date created, and tell LINQ to InsertOnSubmit all in the same block of code.
Saturday, October 16, 2010
Customer Relationship Management Software
Just launched a new website for Customer Relationship Management (CRM). We build custom CRM software for companies in any industry.
Customer Relationship Management Software
Customer Relationship Management Software
Thursday, October 14, 2010
Subscribe to:
Posts (Atom)