public Backer CreateBacker(BackerOption backOption) { Backer backer = new Backer { FirstName = backOption.FirstName, LastName = backOption.LastName, Email = backOption.Email, Username = backOption.Username, Password = backOption.Password, Dob = backOption.Dob }; db.Backers.Add(backer); db.SaveChanges(); return(backer); }
//CRUD // create read update delete public Project CreateProject(ProjectOption projOption) { ProjectCreatorManagement pcMng = new ProjectCreatorManagement(db); Project project = new Project { ProjectCreator = pcMng.FindProjecCreatortById(projOption.ProjectCreatorId), Title = projOption.Title, Description = projOption.Description, Category = projOption.Category, EndDate = projOption.EndDate, Goal = projOption.Goal, Progress = 0, StartDate = DateTime.Now, State = true, CurrentAmount = 0 }; db.Projects.Add(project); db.SaveChanges(); return(project); }
public ProjectStatus CreateProjectStatus(ProjectStatusOption psOption) { Project project = db.Projects.Find(psOption.ProjectId); ProjectStatus ps = new ProjectStatus { Title = psOption.Title, Project = project, Date = DateTime.Now }; db.ProjectStatuses.Add(ps); db.SaveChanges(); return(ps); }
public Media CreateMedia(MediaOption mediaOption) { Project project = db.Projects.Find(mediaOption.ProjectId); Media media = new Media { Type = mediaOption.Type, URL = mediaOption.URL, Project = project }; db.Medias.Add(media); db.SaveChanges(); return(media); }
public ProjectCreator CreateProjectCreator(ProjectCreatorOption pcOption) { ProjectCreator pc = new ProjectCreator { FirstName = pcOption.FirstName, LastName = pcOption.LastName, Email = pcOption.Email, Username = pcOption.Username, Password = pcOption.Password, Dob = pcOption.Dob }; db.ProjectCreators.Add(pc); db.SaveChanges(); return(pc); }
public Package CreatePackage(PackageOption packOption) { Project project = db.Projects.Find(packOption.ProjectId); Package package = new Package { Amount = packOption.Amount, Reward = packOption.Reward, Description = packOption.Description, Project = project }; db.Packages.Add(package); db.SaveChanges(); return(package); }
//Code First //Domain Driven Design public void CodeFirstHandler() { //Once Domain class and Context class is created , //if we instantiate the context class for any CRUD then the DB Objects will be created at first using (var ctx = new CFDbContext()) { CFStudent stud = new CFStudent() { StudentName = "New Student" }; ctx.CFStudents.Add(stud); ctx.SaveChanges(); } //Refer default Entity framework conventions on DB Object mapping - http://www.entityframeworktutorial.net/code-first/code-first-conventions.aspx //EF logs all the activity[Command queries] performed by EF using context.database.Log //Context.Database.Log is an Action<string> so that you can attach any method which has one string parameter and void return type.For example: //public class Logger //{ // public static void Log(string message) // { // Console.WriteLine("EF Message: {0} ", message); // } //} //using (var context = new CFDbContext()) //{ // context.Database.Log = Logger.Log; //} //public class MyLogger //{ // public void Log(string component, string message) // { // //Can pass on the same to Log4Net as Info // Console.WriteLine("Component: {0} Message: {1} ", component, message); // } //} //using (var context = new BlogContext()) //{ // var logger = new MyLogger(); // context.Database.Log = s => logger.Log("EFApp", s); // var blog = context.Blogs.First(b => b.Title == "One Unicorn"); // blog.Posts.First().Title = "Green Eggs and Ham"; // blog.Posts.Add(new Post { Title = "I do not like them!" }); // context.SaveChangesAsync().Wait(); //} //https://msdn.microsoft.com/en-us/library/dn469464(v=vs.113).aspx //Transaction Support //using (System.Data.Entity.DbContextTransaction dbTran = context.Database.BeginTransaction()) //{ // try // { //DbSet.AddRange/RemoveRange adds/remove collection(IEnumerable) of entities to the DbContext //CodeFirst SPROC //Inheritance Strategy in Code - First: not discissed in detail - http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code-first.aspx }