C# - User Controls And Business Entities

Mar 30, 2010

I am currently developing some user controls so that I can use them at several places within a project. One control is a about editing a list of addresses for a customer. Since this needs to be done at several places within the project I want to make it a simple user control. The user control contains a repeater control. By default the repeater displays one address item to be edited. If more addresses need to be added, the user can click on a button to append an additional address to be entered. The user control should work for creating new addresses as well as editing existing ones.
The address business entity looks something like this:

public class Address
{
public string Street { get; set; }
public City City { get; set; }
public Address(string street, City city)
{
Check.NotNullOrEmpty(street);
Check.NotNull(city);
Street = street;
City = city;
}
}

As you can see an address can only be instantiated if there is a street and a city.

Now my idea was that the user control exposes a collection property called Addresses.The getter of this property collects the addresses from the repeater and return it in a collection. The setter would databind the addresses to be edited to the repeater.

Like this:

public partial class AddressEditControl : System.Web.UI.UserControl
{
public IEnumerable<Address> Addresses
{
get
{
IList<Address> addresses = new List<Address>();
// collect items from repeater and create addresses
foreach (RepeaterItem item in addressRepeater.Items)
{
// collect values from repeater item
addresses.Add(new Address(street, city));
}
return addresses;
}
set
{
addressRepeater.DataSource = value;
addressRepeater.DataBind();
}
}
}

First I liked this approach since it is object oriented makes it very easy to reuse the control. But at some place in my project I wanted to use this control so a user could enter some addresses. And I wanted to pre-fill the street input field of each repeater item since I had that data so the user doesn't need to enter it all by his self.

Now the problem is that this user control only accepts addresses in a valid state (since the address object has only one constructor). So I cannot do:

IList<Addresses> addresses = new List<Address>();
addresses.Add(new Address("someStreet", null)); // i dont know the city yet (user has to find it out)
addressControl.Addresses = addresses;

So the above is not possible since I would get an error from address because the city is null.

Now my question: How would I create such a control? ;)
I was thinking about using an Address DTO instead of a real address, so it can later be mapped to an address. That way I can pass in and out an address collection which addresses don't need to be valid.
Or did I misunderstood the way user controls work?

View 1 Replies


Similar Messages:

DataSource Controls :: Linq To Entities - Multilevel Projection Into Business Class And Not Breaking Deferred Execution?

Mar 18, 2010

I have a problem. (this a simplfied example)

In Entity framework I have a class which is effectively

fooEntity
{
public Guid Id {get; set;}
and a collection of fooChildEntity
}
a fooChildEntity is again an entityframework class
fooChildEntity
{
public Guid kidId {get; set;}
}

Now I also have a pair of business layer classes foo and fooChild

foo
{
public Guid Id {get; set;}
ilist<fooChild> Children {get;set;}
}
fooChild
{
public Guid kidId {get; set;}
}

My aim is to write a linq to entites that will allow me to convert the entity foo and children into the business foo and children without breaking deferred execution ( I will be adding filters to reduce the recordset at a higher coding level in the business layer)

doing something like

this.context.fooEntity

.include(fooChildEntity)

.Select( fe => new foo { Id=fe.Id ,

fe.foreach(fec => Children.add( new fooChild { kidId = fec.kidId}))})

.AsIQueryable()

is plainly rubbish and would never compile - it is however an indication of the direction I was thinking .

Even if I got a foreach to work like that or similar it would break deferred execution

At this point there are around 300,000 foo entities which I will eventualy filter to 5 or 6 foo's - this is why deferred execution is needed.

View 1 Replies

Architecture :: Passing Entities To Business Layer?

Mar 30, 2011

I am working on implementing a web application in ASP.Net by following the MVC design pattern (Not ASP.Net MVC). As part of the design, we have entity objects that has only properties as per the corresponding table structure and the idea is using these entity objects in the view layer and the same entity objects are passed to Persistence Layer for saving the data to the database. Business Objects in the business layer are responsible for interacting with the database.

As view creates the entity objects and passes to next layer, what would be the best practice to pass the entity objects to the business layer? Should the business objects accept data objects as parameters and interact with the persistence layer? Is there any other best practice to pass the required objects from the view layer to the next layer? As business objects also need to access the properties of the entity objects passed from the view layer, do we need any "translation" from entity objects to business objects?

the best practices to pass entity objects from view layer to the next layer and also how the entity objects created by the persistence layer can be used by business objects?

View 6 Replies

Entities Framework 4 Code First: Business Methods

Oct 15, 2010

Could anyone tell me where is the best place to put my business methods when using EF4 code first POCOs? Should they go in the POCO class? E.g.

public class customer
public property Id as int32
public property Name as string
public property Archived as boolean
public sub MarkAsArchived
me.Archived = true
end sub
public function EmailAllInvoices as boolean
...
end function
end class

Or should the POCO class be as clean as possible and a seperate class be used for business logic which accepts an instance of a customer POCO in the constructor to work on?

View 2 Replies

ADO.NET :: EF4 Entities / Create Entities, For Instance, That Only Contains Contact Details Of Client Table?

Nov 16, 2010

I have a datamodel with a couple of tables. One of my tables have about 40 fields (I know that is a lot, but we have to keep the structure in place as we are upgrading a classic ASP project to MVC). Some of my Actions only updates 1 or 2 fields in my table.

Is there a way to create Entities, for instance, that only contains the contact details of the client table, and not any other details, and then another entity that contains only the address details. I don't want to submit the entire row when I only update telephone details, or the client's picture.

View 1 Replies

Web Forms :: Server In Application - Runtime Error - Not Working For Business User

Mar 12, 2010

The user is geeting following error while uploading a file to the asp.net page. But when I try to upload the same file, I don't get this error. Is there a way to troubleshoot this problem? Also is there a way to capture exact error? I tried to have custom error page.

Runtime error

Description
Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a "web.config" configuration file located in the root directory of the current web application. This tag should then have its "mode" attribute set to "Off".

<!-- Web.Config Configuration File --><configuration> <system.web> <customErrors mode="Off"/> </system.web></configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File --><configuration> <system.web> <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> </system.web></configuration>

View 15 Replies

Self Tracking Entities Vs POCO Entities

Sep 28, 2010

We are starting a new web based product in which we are planning to expose our business logic through WCF services. We will be using ASP.NET 4.0, C#, EF 4.0. In future we want to build iphone applications and WPF applications based on the services. I have been reading a lot about using POCO vs Self Tracking Entities (STE) and from my understand the STEs do not work well with the web scenario.

View 3 Replies

DataSource Controls :: Add Entities Using EF?

Apr 20, 2010

I have the following admx:

I have to add the (AccData, CntactData, PhnNumber, FnclDetail)entities to the database in one shot

What's the best practices to do the add operation for the above entities??

View 2 Replies

DataSource Controls :: Is There A Way To Connect Two Entities Together In One New Entity

May 22, 2010

And not doing a View that connect two tables ?Is there a way to connect two entities together in one new entity?

View 1 Replies

DataSource Controls :: Generating Tables From Entities

May 13, 2010

I'm creating entity on a project to use them as data on my website. I got my base simple entity Users and my DataContext. The thing is i would like the database to create the table as i create Entities.

I mean, actually my database doesn't have a Users table and do not generate it as i build and launch the project. I used to be a Java dev and in Java the table can be created with JPA so i guess Microsoft made it possible with ASP.net but how to do? I've looked on the web but didn't find it.

View 2 Replies

DataSource Controls :: Update Method Using SQL To Entities

Apr 14, 2010

I'm having a question about an update method using SQL To Entities. I'm sending an object to the class and i'm updating him sucefully, but i need to specify each property of object instead of update in once. For example

[Code]....

In this case, i'm updating name, age and country sucefully but i want to use instead of update each property one-by-one, something like this:

[Code]....

So, the C = New should fill the C with all New values on properties, but this isn't work. To update an object, i've to update each property individual or can i update all in one like C = New?

View 3 Replies

DataSource Controls :: Inserting Related Entities?

Mar 5, 2010

Inserting Related Entities?

View 14 Replies

DataSource Controls :: Put Business Logic In Sql Or C#?

May 5, 2010

what's is better?That I put my business logic in the sqls(DataStore) or in the C#.DataSore:

[Code]....

What's faster and better?

View 4 Replies

DataSource Controls :: Editing Data With Linq To Entities

May 21, 2010

I'm trying to update data with the EF I can't seem to get the EntityKey when I debug and hit this line befor I save changes _entities.ApplyPropertyChanges entityToEdit.EntityKey .EntitySetName, blogEntryToEdit); The EntityKey is null dose anyone have any idea how this key is set can't SaveChanges() without it _entities.ApplyPropertyChanges(entityToEdit.EntityKey .EntitySetName, blogEntryToEdit);

View 6 Replies

DataSource Controls :: Can Get Two Tables In Only One Query With LINQ To Entities

May 20, 2010

can get two tables in only one query with LINQ to Entities

Code for example:

[Code]....

View 4 Replies

Forms Data Controls :: Multiple Resultsets And Entities?

Nov 22, 2010

I have a dozen dropdowns and each one is bound to an SP. The page was taking much time to load as time times db is getting connected and sps are called.I thought of using a single sp returning multiple recordsets and iterate through each record set.

Ex:create procedure getdeptsemps
as
begin
select
*
from emp
select
*
from dept
end

I am able to iterate through both the result sets using NextResultset but all I need to know is, how I can assign the recordset into multiple entities like Emp and Dept ?I will assign these Emp and Dept into corresponding dropdown lists.

View 4 Replies

DataSource Controls :: Perform A Search For Records In Linq-to-Entities?

Jan 26, 2010

I trying to create a search mechanism for records in a EDM based on text entered on a text box in a web page.

For example, if I enter a partial name of a customer and/or state abrebiation for that customer on the Text Box (abc, TX)s, I want to search name and state fields in a Customer table in my database for matching customers.

I found a solution with the namespaceSystem.Linq.Dynamic, but for some reason it is not working. It does not expose the Search() method. Here is the code I am using to perform the search;

[Code]....

View 3 Replies

DataSource Controls :: Choose Business Object Empty

Feb 17, 2010

I've created my dataset in my App_Code folder. I tested it so it works, But then when I add in my page an ObjectDataSource, it can find any object the list is empty. I looked for online some solution but I didn't find something which worked. It works when I add the code manually, but i would like to understand how come, which part I misunderstood.

[Code]....

View 6 Replies

DataSource Controls :: On DB Change Want To Call Business Object?

Feb 27, 2010

I want to call my business object class in which I have written my logic when any database status field change, what is the best way we can do, I want notification facility also.

I can do this window service. But there is any best way to acheive this like Notification and call my business object.

View 1 Replies

DataSource Controls :: Best Way To Handle Inserts For Entities When Using FormViews And Entity Framework 4?

Mar 3, 2010

I am trying to get some guidance with this issue:

I have a Customer object that has two address ID fields (one for HomeAddress and one for WorkAddress)

I am loading the Address Objects by using Include="HomeAddress, WorkAddress" and then binding to the properties using the Navigation Property on the Customer Entity

Can I use just one FormView for doing the Insert/Updates and binding it to an EntityDataSource or would I have to do all the Inserting/Updating manually?

View 1 Replies

DataSource Controls :: Dynamic Linq To Entities...querying Date Fields?

Mar 9, 2010

I am trying to use Linq to Entities with the Linq.Dynamic library (via Scott Guthrie) and I'm having some strange issues with querying dates.

[Code]....

This return no results, when it definitely should...

View 1 Replies

DataSource Controls :: LINQ Mapping To Complex Business Objects?

Feb 5, 2010

I have two business objects mapped via LINQ to tables. One of the objects contains an instance of the other object and share a key as an identifier.I want to retrieve Class A and within class A all of Class B's values as well. What I am doing is this:

[Code]....

[Code]....

This seems a little clunky, as in slow. Is there a better way to get the Class B (User) information without making a query every time?

View 4 Replies

Forms Data Controls :: Retrieve The Other Values In The Business Entity?

Jun 26, 2010

The method has a return type of collection<businessEntity>, i am calling the method from the aspx page in order to populate a drop down -> ddlDropDown. I am binding he DataTextField of the ddlDropDown with the BusinessEntity.Name and the DataValueField with BusinessEntity.Id, the business entity contains another id which is BusinessEntity.ProductId. I need to use the ProductId of the value selected in the drop down list in the code behind.

One possible way could be to call the method in the page_Load on the code behind and save the collection in a hidden variable and when required do a loop through in the hidden variable and retrieve the selected value Product Id.

View 1 Replies

DataSource Controls :: Make ObjectDataSource Typename Of A Singleton Business Object?

Mar 14, 2010

How do I make ObjectDataSource work with singleton Business object? My singleton business object is defined in Global:

[Code]....

I get an error:The type specified in the TypeName property of ObjectDataSource 'objThreads' could not be found.

View 2 Replies

Forms Data Controls :: How To Implement Datagrid Events In Business Layer

Jan 28, 2010

<p>Dear All </p> <p>i am developing a small asp.net application in vs 2005. my application consists of 3 layers.presentation, business layer and data layer. now i got a small problem in using datagrid events like itemcommand , databound events in presentation layer. </p><p>this is my first asp.net application with different layers , upto now i dint work with layers. i created datagrid as follows in my page load i craeted an instance for my businesslayer as </p><p>

mywebsite businesslayer .customerinfo cs = new mywebsite businesslayer .customerinfo();
</p><p>

in customer info i have a function to bind the grid

</p><p>bindgrid(datagrid dg1, datatable dt)
{
dg1.datasource=dt; dg1.databind();
}
</p><p>

now i want to add itemcommand event ad databound events. can any one advice me how to add these events and where should i have to add these events? </p><p>

<p>p
</p><p>
</p><p>kishore</p>

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved