Reading from database
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Data.Entity;
|
||||
using System.Web.Mvc;
|
||||
using Vidly.Models;
|
||||
using Vidly.ViewModels;
|
||||
@ -11,9 +12,12 @@ namespace Vidly.Controllers
|
||||
public class CustomersController : Controller
|
||||
{
|
||||
List<Customer> customers = null;
|
||||
private ApplicationDbContext _context;
|
||||
|
||||
public CustomersController()
|
||||
{
|
||||
_context = new ApplicationDbContext();
|
||||
|
||||
customers = new List<Customer>
|
||||
{
|
||||
new Customer {Name="Nils Persson", Id=1},
|
||||
@ -22,6 +26,11 @@ namespace Vidly.Controllers
|
||||
};
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
_context.Dispose();
|
||||
}
|
||||
|
||||
// GET: Vidly
|
||||
public ActionResult Index()
|
||||
{
|
||||
@ -33,7 +42,7 @@ namespace Vidly.Controllers
|
||||
|
||||
var viewModel = new CustomersViewModel()
|
||||
{
|
||||
Customers = customers
|
||||
Customers = _context.Customers.Include(c=>c.MembershipType).ToList()
|
||||
};
|
||||
|
||||
return View(viewModel);
|
||||
@ -42,14 +51,10 @@ namespace Vidly.Controllers
|
||||
[Route("Customers/Details/{nr}")]
|
||||
public ActionResult Customer(int nr)
|
||||
{
|
||||
foreach(var cust in customers)
|
||||
{
|
||||
if (cust.Id == nr)
|
||||
{
|
||||
return View(cust);
|
||||
}
|
||||
}
|
||||
var customer = _context.Customers.SingleOrDefault(c => c.Id == nr);
|
||||
if (customer== null)
|
||||
return HttpNotFound();
|
||||
return View(customer);
|
||||
}
|
||||
|
||||
public ActionResult Movies()
|
||||
|
||||
29
Vidly/Migrations/201901181642319_AddMembershipType.Designer.cs
generated
Normal file
29
Vidly/Migrations/201901181642319_AddMembershipType.Designer.cs
generated
Normal 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 AddMembershipType : IMigrationMetadata
|
||||
{
|
||||
private readonly ResourceManager Resources = new ResourceManager(typeof(AddMembershipType));
|
||||
|
||||
string IMigrationMetadata.Id
|
||||
{
|
||||
get { return "201901181642319_AddMembershipType"; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Source
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Target
|
||||
{
|
||||
get { return Resources.GetString("Target"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Vidly/Migrations/201901181642319_AddMembershipType.cs
Normal file
34
Vidly/Migrations/201901181642319_AddMembershipType.cs
Normal file
@ -0,0 +1,34 @@
|
||||
namespace Vidly.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class AddMembershipType : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
CreateTable(
|
||||
"dbo.MembershipTypes",
|
||||
c => new
|
||||
{
|
||||
Id = c.Byte(nullable: false),
|
||||
SignUpFee = c.Short(nullable: false),
|
||||
DurationInMonth = c.Byte(nullable: false),
|
||||
DiscountRate = c.Byte(nullable: false),
|
||||
})
|
||||
.PrimaryKey(t => t.Id);
|
||||
|
||||
AddColumn("dbo.Customers", "MembershipTypeId", c => c.Byte(nullable: false));
|
||||
CreateIndex("dbo.Customers", "MembershipTypeId");
|
||||
AddForeignKey("dbo.Customers", "MembershipTypeId", "dbo.MembershipTypes", "Id", cascadeDelete: true);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
DropForeignKey("dbo.Customers", "MembershipTypeId", "dbo.MembershipTypes");
|
||||
DropIndex("dbo.Customers", new[] { "MembershipTypeId" });
|
||||
DropColumn("dbo.Customers", "MembershipTypeId");
|
||||
DropTable("dbo.MembershipTypes");
|
||||
}
|
||||
}
|
||||
}
|
||||
126
Vidly/Migrations/201901181642319_AddMembershipType.resx
Normal file
126
Vidly/Migrations/201901181642319_AddMembershipType.resx
Normal 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>
|
||||
29
Vidly/Migrations/201901191431535_PopulateMembershipTypes.Designer.cs
generated
Normal file
29
Vidly/Migrations/201901191431535_PopulateMembershipTypes.Designer.cs
generated
Normal 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 PopulateMembershipTypes : IMigrationMetadata
|
||||
{
|
||||
private readonly ResourceManager Resources = new ResourceManager(typeof(PopulateMembershipTypes));
|
||||
|
||||
string IMigrationMetadata.Id
|
||||
{
|
||||
get { return "201901191431535_PopulateMembershipTypes"; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Source
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Target
|
||||
{
|
||||
get { return Resources.GetString("Target"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
20
Vidly/Migrations/201901191431535_PopulateMembershipTypes.cs
Normal file
20
Vidly/Migrations/201901191431535_PopulateMembershipTypes.cs
Normal file
@ -0,0 +1,20 @@
|
||||
namespace Vidly.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class PopulateMembershipTypes : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonth, DiscountRate) VALUES (1,0,0,0)");
|
||||
Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonth, DiscountRate) VALUES (2, 30, 1, 30)");
|
||||
Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonth, DiscountRate) VALUES (3, 90, 3, 15)");
|
||||
Sql("INSERT INTO MembershipTypes (Id, SignUpFee, DurationInMonth, DiscountRate) VALUES (4, 300, 12, 20)");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
126
Vidly/Migrations/201901191431535_PopulateMembershipTypes.resx
Normal file
126
Vidly/Migrations/201901191431535_PopulateMembershipTypes.resx
Normal 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>
|
||||
29
Vidly/Migrations/201901191449134_ApplyAnnotationsToCustomerName.Designer.cs
generated
Normal file
29
Vidly/Migrations/201901191449134_ApplyAnnotationsToCustomerName.Designer.cs
generated
Normal 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 ApplyAnnotationsToCustomerName : IMigrationMetadata
|
||||
{
|
||||
private readonly ResourceManager Resources = new ResourceManager(typeof(ApplyAnnotationsToCustomerName));
|
||||
|
||||
string IMigrationMetadata.Id
|
||||
{
|
||||
get { return "201901191449134_ApplyAnnotationsToCustomerName"; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Source
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Target
|
||||
{
|
||||
get { return Resources.GetString("Target"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
namespace Vidly.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class ApplyAnnotationsToCustomerName : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
AlterColumn("dbo.Customers", "Name", c => c.String(nullable: false, maxLength: 255));
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
AlterColumn("dbo.Customers", "Name", c => c.String());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
@ -8,7 +9,11 @@ namespace Vidly.Models
|
||||
public class Customer
|
||||
{
|
||||
public int Id { get; set; }
|
||||
[Required]
|
||||
[StringLength(255)]
|
||||
public string Name { get; set; }
|
||||
public bool IsSubscribedToNewsLetter { get; set; }
|
||||
public MembershipType MembershipType { get; set; }
|
||||
public byte MembershipTypeId { get; set; }
|
||||
}
|
||||
}
|
||||
15
Vidly/Models/MembershipType.cs
Normal file
15
Vidly/Models/MembershipType.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace Vidly.Models
|
||||
{
|
||||
public class MembershipType
|
||||
{
|
||||
public byte Id { get; set; }
|
||||
public short SignUpFee { get; set; }
|
||||
public byte DurationInMonth { get; set; }
|
||||
public byte DiscountRate { get; set; }
|
||||
}
|
||||
}
|
||||
@ -189,11 +189,24 @@
|
||||
<Compile Include="Migrations\201901181614018_AddIsSubscribedToNewsLetter.Designer.cs">
|
||||
<DependentUpon>201901181614018_AddIsSubscribedToNewsLetter.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\201901181642319_AddMembershipType.cs" />
|
||||
<Compile Include="Migrations\201901181642319_AddMembershipType.Designer.cs">
|
||||
<DependentUpon>201901181642319_AddMembershipType.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\201901191431535_PopulateMembershipTypes.cs" />
|
||||
<Compile Include="Migrations\201901191431535_PopulateMembershipTypes.Designer.cs">
|
||||
<DependentUpon>201901191431535_PopulateMembershipTypes.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.cs" />
|
||||
<Compile Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.Designer.cs">
|
||||
<DependentUpon>201901191449134_ApplyAnnotationsToCustomerName.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\Configuration.cs" />
|
||||
<Compile Include="Models\AccountViewModels.cs" />
|
||||
<Compile Include="Models\Customer.cs" />
|
||||
<Compile Include="Models\IdentityModels.cs" />
|
||||
<Compile Include="Models\ManageViewModels.cs" />
|
||||
<Compile Include="Models\MembershipType.cs" />
|
||||
<Compile Include="Models\Movie.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Startup.cs" />
|
||||
@ -288,6 +301,15 @@
|
||||
<EmbeddedResource Include="Migrations\201901181614018_AddIsSubscribedToNewsLetter.resx">
|
||||
<DependentUpon>201901181614018_AddIsSubscribedToNewsLetter.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Migrations\201901181642319_AddMembershipType.resx">
|
||||
<DependentUpon>201901181642319_AddMembershipType.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Migrations\201901191431535_PopulateMembershipTypes.resx">
|
||||
<DependentUpon>201901191431535_PopulateMembershipTypes.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Migrations\201901191449134_ApplyAnnotationsToCustomerName.resx">
|
||||
<DependentUpon>201901191449134_ApplyAnnotationsToCustomerName.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
|
||||
@ -12,12 +12,22 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<ul>
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Customer</th>
|
||||
<th >Discount Rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var customer in Model.Customers)
|
||||
{
|
||||
@*<li>@customer.Name</li>*@
|
||||
<li>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id },null)</li>
|
||||
<tr>
|
||||
<td>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id }, null)</td>
|
||||
<td>@customer.MembershipType.DiscountRate%</td>
|
||||
</tr>
|
||||
}
|
||||
</ul>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user