Movies included in database as well and handled in site

This commit is contained in:
2019-01-21 20:52:22 +01:00
parent 19fc2475fa
commit f5a597fcdb
33 changed files with 1418 additions and 59 deletions

View File

@ -11,19 +11,11 @@ namespace Vidly.Controllers
{ {
public class CustomersController : Controller public class CustomersController : Controller
{ {
List<Customer> customers = null;
private ApplicationDbContext _context; private ApplicationDbContext _context;
public CustomersController() public CustomersController()
{ {
_context = new ApplicationDbContext(); _context = new ApplicationDbContext();
customers = new List<Customer>
{
new Customer {Name="Nils Persson", Id=1},
new Customer {Name="Pelle Rundström",Id=2},
new Customer {Name="Ulla Ulriksson",Id=3}
};
} }
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
@ -51,7 +43,7 @@ namespace Vidly.Controllers
[Route("Customers/Details/{nr}")] [Route("Customers/Details/{nr}")]
public ActionResult Customer(int nr) public ActionResult Customer(int nr)
{ {
var customer = _context.Customers.SingleOrDefault(c => c.Id == nr); var customer = _context.Customers.Include(c => c.MembershipType).SingleOrDefault(c => c.Id == nr);
if (customer== null) if (customer== null)
return HttpNotFound(); return HttpNotFound();
return View(customer); return View(customer);

View File

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Web; using System.Web;
using System.Data.Entity;
using System.Web.Mvc; using System.Web.Mvc;
using Vidly.Models; using Vidly.Models;
using Vidly.ViewModels; using Vidly.ViewModels;
@ -10,70 +11,83 @@ namespace Vidly.Controllers
{ {
public class MoviesController : Controller public class MoviesController : Controller
{ {
List<Movie> movies = null; //List<Movie> movies = null;
private ApplicationDbContext _context;
public MoviesController() public MoviesController()
{ {
movies = new List<Movie> _context = new ApplicationDbContext();
{ //movies = new List<Movie>
new Movie{Name="Never say never again", Id=1}, //{
new Movie{Name="Doctor Zivago",Id=2}, // new Movie{Name="Never say never again", Id=1},
new Movie{Name="Hånkentomtarna",Id=3} // new Movie{Name="Doctor Zivago",Id=2},
}; // new Movie{Name="Hånkentomtarna",Id=3}
//};
} }
// GET: Movies //// GET: Movies
public ActionResult Random() //public ActionResult Random()
{ //{
var movie = new Movie() { Name = "Shrek!" }; // var movie = new Movie() { Name = "Shrek!" };
var customers = new List<Customer> // var customers = new List<Customer>
{ // {
new Customer {Name="Customer 1"}, // new Customer {Name="Customer 1"},
new Customer {Name="Customer 2"} // new Customer {Name="Customer 2"}
}; // };
//var viewResult = new ViewResult(); // //var viewResult = new ViewResult();
//viewResult.ViewData.Model = movie; // //viewResult.ViewData.Model = movie;
var viewModel = new RandomMovieViewModel() // var viewModel = new RandomMovieViewModel()
{ // {
Movie = movie, // Movie = movie,
Customers = customers // Customers = customers
}; // };
return View(viewModel); // return View(viewModel);
//return View(movie); // //return View(movie);
//return Content("Hello World"); // //return Content("Hello World");
//return HttpNotFound(); // //return HttpNotFound();
//return new EmptyResult(); // //return new EmptyResult();
//return RedirectToAction("Index", "Home",new { page = 1, sortBy = "name" }); // //return RedirectToAction("Index", "Home",new { page = 1, sortBy = "name" });
} //}
public ActionResult Edit(int id) //public ActionResult Edit(int id)
{ //{
return Content("id=" + id); // return Content("id=" + id);
} //}
public ActionResult Index(int? pageIndex, string sortBy) //public ActionResult Index(int? pageIndex, string sortBy)
{ //{
if (!pageIndex.HasValue) // if (!pageIndex.HasValue)
pageIndex = 1; // pageIndex = 1;
if (string.IsNullOrWhiteSpace(sortBy)) // if (string.IsNullOrWhiteSpace(sortBy))
sortBy = "Name"; // sortBy = "Name";
return Content($"pageIndex={pageIndex}&sortBy={sortBy}"); // return Content($"pageIndex={pageIndex}&sortBy={sortBy}");
} //}
public ActionResult Movies() public ActionResult Movies()
{ {
var viewModel = new MoviesViewModel() var viewModel = new MoviesViewModel()
{ {
Movies = movies Movies = _context.Movies.Include(m => m.MovieGenre).ToList()
}; };
return View(viewModel); return View(viewModel);
} }
[Route("Movies/Movies/{nr}")]
public ActionResult Movie(int nr)
{
var movie = _context.Movies.Include(c => c.MovieGenre).SingleOrDefault(c => c.Id == nr);
if (movie == null)
return HttpNotFound();
return View(movie);
}
[Route("movies/released/{year}/{month:regex(\\d{2}):range(1,12)}")] [Route("movies/released/{year}/{month:regex(\\d{2}):range(1,12)}")]
public ActionResult ByReleaseDate(int year, int month) public ActionResult ByReleaseDate(int year, int month)
{ {

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class NameToMembershiptype : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(NameToMembershiptype));
string IMigrationMetadata.Id
{
get { return "201901201153250_NameToMembershiptype"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,18 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class NameToMembershiptype : DbMigration
{
public override void Up()
{
AddColumn("dbo.MembershipTypes", "Name", c => c.String(maxLength: 50));
}
public override void Down()
{
DropColumn("dbo.MembershipTypes", "Name");
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class updateNewfieldsInMembership : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(updateNewfieldsInMembership));
string IMigrationMetadata.Id
{
get { return "201901201156548_updateNewfieldsInMembership"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,21 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class updateNewfieldsInMembership : DbMigration
{
public override void Up()
{
Sql("UPDATE MembershipTypes SET NAME='Pay as You Go' WHERE ID=1");
Sql("UPDATE MembershipTypes SET NAME='Monthly' WHERE ID=2");
Sql("UPDATE MembershipTypes SET NAME='Quarterly' WHERE ID=3");
Sql("UPDATE MembershipTypes SET NAME='Yearly' WHERE ID=4");
}
public override void Down()
{
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class BirthdateInCustomer : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(BirthdateInCustomer));
string IMigrationMetadata.Id
{
get { return "201901201226210_BirthdateInCustomer"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,18 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class BirthdateInCustomer : DbMigration
{
public override void Up()
{
AddColumn("dbo.Customers", "BirthDate", c => c.DateTime());
}
public override void Down()
{
DropColumn("dbo.Customers", "BirthDate");
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class AddDatesToMovie : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddDatesToMovie));
string IMigrationMetadata.Id
{
get { return "201901201316381_AddDatesToMovie"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,29 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class AddDatesToMovie : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.Movies",
c => new
{
Id = c.Int(nullable: false, identity: true),
Name = c.String(),
ReleaseDate = c.DateTime(nullable: false),
DateAdded = c.DateTime(nullable: false),
NumberInStock = c.Int(nullable: false),
})
.PrimaryKey(t => t.Id);
}
public override void Down()
{
DropTable("dbo.Movies");
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class MovieGenreAdded : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(MovieGenreAdded));
string IMigrationMetadata.Id
{
get { return "201901201322198_MovieGenreAdded"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,32 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class MovieGenreAdded : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.MovieGenres",
c => new
{
Id = c.Byte(nullable: false),
Name = c.String(),
})
.PrimaryKey(t => t.Id);
AddColumn("dbo.Movies", "MovieGenreId", c => c.Byte(nullable: false));
CreateIndex("dbo.Movies", "MovieGenreId");
AddForeignKey("dbo.Movies", "MovieGenreId", "dbo.MovieGenres", "Id", cascadeDelete: true);
}
public override void Down()
{
DropForeignKey("dbo.Movies", "MovieGenreId", "dbo.MovieGenres");
DropIndex("dbo.Movies", new[] { "MovieGenreId" });
DropColumn("dbo.Movies", "MovieGenreId");
DropTable("dbo.MovieGenres");
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class AddValuesforMoviesAndGenres : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddValuesforMoviesAndGenres));
string IMigrationMetadata.Id
{
get { return "201901201436391_AddValuesforMoviesAndGenres"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,20 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class AddValuesforMoviesAndGenres : DbMigration
{
public override void Up()
{
Sql("INSERT INTO MovieGenres (Id, Name) VALUES (1,'Comedy')");
Sql("INSERT INTO MovieGenres (Id, Name) VALUES (2, 'Action')");
Sql("INSERT INTO MovieGenres (Id, Name) VALUES (3, 'Family')");
Sql("INSERT INTO MovieGenres (Id, Name) VALUES (4, 'Romance')");
}
public override void Down()
{
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -0,0 +1,29 @@
// <auto-generated />
namespace Vidly.Migrations
{
using System.CodeDom.Compiler;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
public sealed partial class AddingaFewMovies : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddingaFewMovies));
string IMigrationMetadata.Id
{
get { return "201901201503276_AddingaFewMovies"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}

View File

@ -0,0 +1,21 @@
namespace Vidly.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class AddingaFewMovies : DbMigration
{
public override void Up()
{
Sql("INSERT INTO Movies ( Name,ReleaseDate,DateAdded,NumberInStock,MovieGenreId) VALUES ( 'Hangover','1985-06-01','2015-06-05',3,1)");
Sql("INSERT INTO Movies ( Name,ReleaseDate,DateAdded,NumberInStock,MovieGenreId) VALUES ( 'Die Hard','1988-11-15','2015-06-05',3,2)");
Sql("INSERT INTO Movies ( Name,ReleaseDate,DateAdded,NumberInStock,MovieGenreId) VALUES ( 'The Terminator','1975-08-15','2015-06-05',7,2)");
Sql("INSERT INTO Movies ( Name,ReleaseDate,DateAdded,NumberInStock,MovieGenreId) VALUES ( 'Toy Story','1995-02-07','2015-06-05',2,3)");
Sql("INSERT INTO Movies ( Name,ReleaseDate,DateAdded,NumberInStock,MovieGenreId) VALUES ( 'Titanic','1998-12-01','2015-06-05',8,4)");
}
public override void Down()
{
}
}
}

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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</value>
</data>
<data name="DefaultSchema" xml:space="preserve">
<value>dbo</value>
</data>
</root>

View File

@ -12,6 +12,7 @@ namespace Vidly.Models
[Required] [Required]
[StringLength(255)] [StringLength(255)]
public string Name { get; set; } public string Name { get; set; }
public DateTime? BirthDate { get; set; }
public bool IsSubscribedToNewsLetter { get; set; } public bool IsSubscribedToNewsLetter { get; set; }
public MembershipType MembershipType { get; set; } public MembershipType MembershipType { get; set; }
public byte MembershipTypeId { get; set; } public byte MembershipTypeId { get; set; }

View File

@ -21,6 +21,7 @@ namespace Vidly.Models
public class ApplicationDbContext : IdentityDbContext<ApplicationUser> public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{ {
public DbSet<Customer> Customers { get; set; } public DbSet<Customer> Customers { get; set; }
public DbSet<Movie> Movies { get; set; }
public ApplicationDbContext() public ApplicationDbContext()
// : base("DefaultConnection", throwIfV1Schema: false) // : base("DefaultConnection", throwIfV1Schema: false)

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Web; using System.Web;
@ -8,6 +9,8 @@ namespace Vidly.Models
public class MembershipType public class MembershipType
{ {
public byte Id { get; set; } public byte Id { get; set; }
[StringLength(50)]
public string Name { get; set; }
public short SignUpFee { get; set; } public short SignUpFee { get; set; }
public byte DurationInMonth { get; set; } public byte DurationInMonth { get; set; }
public byte DiscountRate { get; set; } public byte DiscountRate { get; set; }

View File

@ -9,5 +9,11 @@ namespace Vidly.Models
{ {
public int Id { get; set; } public int Id { get; set; }
public string Name { get; set; } public string Name { get; set; }
public DateTime ReleaseDate { get; set; }
public DateTime DateAdded { get; set; }
public int NumberInStock { get; set; }
public MovieGenre MovieGenre { get; set; }
public byte MovieGenreId { get; set; }
} }
} }

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Vidly.Models
{
public class MovieGenre
{
public byte Id { get; set; }
public string Name { get; set; }
}
}

View File

@ -201,6 +201,34 @@
<Compile Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.Designer.cs"> <Compile Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.Designer.cs">
<DependentUpon>201901191449134_ApplyAnnotationsToCustomerName.cs</DependentUpon> <DependentUpon>201901191449134_ApplyAnnotationsToCustomerName.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Migrations\201901201153250_NameToMembershiptype.cs" />
<Compile Include="Migrations\201901201153250_NameToMembershiptype.Designer.cs">
<DependentUpon>201901201153250_NameToMembershiptype.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901201156548_updateNewfieldsInMembership.cs" />
<Compile Include="Migrations\201901201156548_updateNewfieldsInMembership.Designer.cs">
<DependentUpon>201901201156548_updateNewfieldsInMembership.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901201226210_BirthdateInCustomer.cs" />
<Compile Include="Migrations\201901201226210_BirthdateInCustomer.Designer.cs">
<DependentUpon>201901201226210_BirthdateInCustomer.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901201316381_AddDatesToMovie.cs" />
<Compile Include="Migrations\201901201316381_AddDatesToMovie.Designer.cs">
<DependentUpon>201901201316381_AddDatesToMovie.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901201322198_MovieGenreAdded.cs" />
<Compile Include="Migrations\201901201322198_MovieGenreAdded.Designer.cs">
<DependentUpon>201901201322198_MovieGenreAdded.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901201436391_AddValuesforMoviesAndGenres.cs" />
<Compile Include="Migrations\201901201436391_AddValuesforMoviesAndGenres.Designer.cs">
<DependentUpon>201901201436391_AddValuesforMoviesAndGenres.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901201503276_AddingaFewMovies.cs" />
<Compile Include="Migrations\201901201503276_AddingaFewMovies.Designer.cs">
<DependentUpon>201901201503276_AddingaFewMovies.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" /> <Compile Include="Migrations\Configuration.cs" />
<Compile Include="Models\AccountViewModels.cs" /> <Compile Include="Models\AccountViewModels.cs" />
<Compile Include="Models\Customer.cs" /> <Compile Include="Models\Customer.cs" />
@ -208,6 +236,7 @@
<Compile Include="Models\ManageViewModels.cs" /> <Compile Include="Models\ManageViewModels.cs" />
<Compile Include="Models\MembershipType.cs" /> <Compile Include="Models\MembershipType.cs" />
<Compile Include="Models\Movie.cs" /> <Compile Include="Models\Movie.cs" />
<Compile Include="Models\MovieGenre.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Startup.cs" /> <Compile Include="Startup.cs" />
<Compile Include="ViewModels\CustomersViewModel.cs" /> <Compile Include="ViewModels\CustomersViewModel.cs" />
@ -276,6 +305,7 @@
<Content Include="Views\Customers\Customers.cshtml" /> <Content Include="Views\Customers\Customers.cshtml" />
<Content Include="Views\Movies\Movies.cshtml" /> <Content Include="Views\Movies\Movies.cshtml" />
<Content Include="Views\Customers\Customer.cshtml" /> <Content Include="Views\Customers\Customer.cshtml" />
<Content Include="Views\Movies\Movie.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="App_Data\" /> <Folder Include="App_Data\" />
@ -310,6 +340,27 @@
<EmbeddedResource Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.resx"> <EmbeddedResource Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.resx">
<DependentUpon>201901191449134_ApplyAnnotationsToCustomerName.cs</DependentUpon> <DependentUpon>201901191449134_ApplyAnnotationsToCustomerName.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201153250_NameToMembershiptype.resx">
<DependentUpon>201901201153250_NameToMembershiptype.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201156548_updateNewfieldsInMembership.resx">
<DependentUpon>201901201156548_updateNewfieldsInMembership.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201226210_BirthdateInCustomer.resx">
<DependentUpon>201901201226210_BirthdateInCustomer.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201316381_AddDatesToMovie.resx">
<DependentUpon>201901201316381_AddDatesToMovie.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201322198_MovieGenreAdded.resx">
<DependentUpon>201901201322198_MovieGenreAdded.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201436391_AddValuesforMoviesAndGenres.resx">
<DependentUpon>201901201436391_AddValuesforMoviesAndGenres.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901201503276_AddingaFewMovies.resx">
<DependentUpon>201901201503276_AddingaFewMovies.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup> </ItemGroup>
<PropertyGroup> <PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>

View File

@ -8,3 +8,11 @@
<h1>@Model.Name - @Model.Id</h1> <h1>@Model.Name - @Model.Id</h1>
<ul >
<li>Membership Type: @Model.MembershipType.Name</li>
@if (Model.BirthDate != null)
{
<li>Birthdate : @Model.BirthDate.Value.ToShortDateString()</li>
}
</ul>

View File

@ -16,7 +16,7 @@ else
<thead> <thead>
<tr> <tr>
<th>Customer</th> <th>Customer</th>
<th >Discount Rate</th> <th >Membership Type</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -24,7 +24,7 @@ else
{ {
<tr> <tr>
<td>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id }, null)</td> <td>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id }, null)</td>
<td>@customer.MembershipType.DiscountRate%</td> <td>@customer.MembershipType.Name</td>
</tr> </tr>
} }
</tbody> </tbody>

View File

@ -0,0 +1,17 @@
@model Vidly.Models.Movie
@{
ViewBag.Title = "Movie";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Movie</h2>
<h1>@Model.Name - @Model.Id</h1>
<ul>
<li>Genre: @Model.MovieGenre.Name</li>
<li>Release Date: @Model.ReleaseDate.DayOfWeek,@Model.ReleaseDate.ToLongDateString()</li>
<li>Date Added: @Model.DateAdded.DayOfWeek,@Model.DateAdded.ToLongDateString()</li>
<li>Number in Stock: @Model.NumberInStock</li>
</ul>

View File

@ -12,12 +12,21 @@
} }
else else
{ {
<ul> <table class="table table-bordered table-hover">
<thead>
<tr>
<th>Movie</th>
<th>Genre</th>
</tr>
</thead>
<tbody>
@foreach (var movie in Model.Movies) @foreach (var movie in Model.Movies)
{ {
<li>@movie.Name</li> <tr>
@*<li>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id }, null)</li>*@ <td>@Html.ActionLink(@movie.Name,"Movies","Movies",new { id = movie.Id },null) </td>
<td>@movie.MovieGenre.Name</td>
</tr>
} }
</ul> </tbody>
</table>
} }