I have the following code that picks up the data from a users form as follows and writes to a database:
public class Member_Extended : Member
{
public string Source { get; set; }
public string Other { get; set; }
}
[WebMethod(EnableSession = true)]
public Dictionary<string, object> CreateMemeber(Member_Extended member) {
var original = member != null ? MemberExtended_Member.Compile().Invoke(member) : null;
Dictionary<string, object> data = new Dictionary<string, object>();
context.Connection.Open();
int success = 0;
using (DbTransaction transaction = context.Connection.BeginTransaction()) {
try {
original.isPending = true;
original.ExpiresOn = DateTime.Now.AddDays(14);
context.AddToMember(original);
success = context.SaveChanges();
if (success == 1) {
transaction.Commit();
CacheManager.MemberData =original; // how to pass original into member
MemeberExtendedRepository.Insert(member)
}
Utils.ServiceSuccessResultHandler(ref data, "Login," + original.ID, 1);
} catch (Exception ex) {
transaction.Rollback();
Utils.ServiceErrorResultHandler(ex, ref data);
}
}
return data;
}
public class MemeberExtendedRepository
{
public static bool Insert (Member_Extended member)
{
var command = new StringBuilder();
command.AppendFormat(string.Format("UPDATE Table SET [Source]='{0}',[Other]='{1}' WHERE ID={2} ", member.Source, member.Other, member.ID));
return ExecuteCommand(command.ToString());
}
}
as you can see on this line var original = member != null ? MemberExtended_Member.Compile().Invoke(member) : null;
i assigned the member to original. Because original contains a "ID" parameter value example 1234.
when i call this method MemeberExtendedRepository.Insert(member)
i want the ID VALUE from the original variable to be passed,currently it returns an ID of 0.
when i tried the following
MemeberExtendedRepository.Insert(original);
it says can not convert member to Member_Extended.
How can i achieve this?