Compare commits

..

10 Commits

78 changed files with 3560 additions and 212 deletions

View File

@ -0,0 +1,19 @@
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Vidly.Dtos;
using Vidly.Models;
namespace Vidly.App_Start
{
public class MappingProfile:Profile
{
public MappingProfile()
{
Mapper.CreateMap<Customer, CustomerDto>();
Mapper.CreateMap<CustomerDto, Customer>();
}
}
}

View File

@ -24,7 +24,7 @@ namespace Vidly
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Customers", action = "Index", id = UrlParameter.Optional }
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}

View File

@ -0,0 +1,27 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace Vidly
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var settings = config.Formatters.JsonFormatter.SerializerSettings;
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
settings.Formatting = Formatting.Indented;
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}

View File

@ -22,3 +22,9 @@ select,
textarea {
max-width: 280px;
}
.field-validation-error{
color:red;
}
.input-validation-error{
border: 2px solid red;
}

View File

@ -0,0 +1,86 @@
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Vidly.Dtos;
using Vidly.Models;
namespace Vidly.Controllers.Api
{
public class CustomersController : ApiController
{
private ApplicationDbContext _context;
public CustomersController()
{
_context = new ApplicationDbContext();
}
// GET /Api/Customers
public IEnumerable<CustomerDto> GetCustomers()
{
return _context.Customers.ToList().Select(Mapper.Map<Customer,CustomerDto>);
}
// GET /Api/Customers/1
public CustomerDto GetCustomer(int Id)
{
var customer = _context.Customers.SingleOrDefault(c => c.Id == Id);
if (customer == null)
throw new HttpResponseException(HttpStatusCode.NotFound);
return Mapper.Map<Customer,CustomerDto>(customer);
}
// POST /Api/Customers
[HttpPost]
public CustomerDto CreateCustomer(CustomerDto customerDto)
{
if (!ModelState.IsValid)
throw new HttpResponseException(HttpStatusCode.BadRequest);
var customer = Mapper.Map<CustomerDto, Customer>(customerDto);
_context.Customers.Add(customer);
_context.SaveChanges();
customerDto.Id = customer.Id;
return customerDto;
}
// PUT /Api/Customers/1
[HttpPut]
public void UpdateCustomer(int Id,CustomerDto customerDto)
{
if (!ModelState.IsValid)
throw new HttpResponseException(HttpStatusCode.BadRequest);
var customerInDb = _context.Customers.SingleOrDefault(c => c.Id == Id);
if (customerInDb == null)
throw new HttpResponseException(HttpStatusCode.NotFound);
//Mapper.Map<CustomerDto, Customer>(customerDto, customerInDb);
Mapper.Map(customerDto, customerInDb);
_context.SaveChanges();
}
// DELETE /Api/Customers/1
[HttpDelete]
public void DeleteCustomer(int Id)
{
var customerInDb = _context.Customers.SingleOrDefault(c => c.Id == Id);
if (customerInDb == null)
throw new HttpResponseException(HttpStatusCode.NotFound);
_context.Customers.Remove(customerInDb);
_context.SaveChanges();
}
}
}

View File

@ -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;
@ -10,51 +11,107 @@ namespace Vidly.Controllers
{
public class CustomersController : Controller
{
List<Customer> customers = null;
private ApplicationDbContext _context;
public CustomersController()
{
customers = new List<Customer>
_context = new ApplicationDbContext();
}
protected override void Dispose(bool disposing)
{
new Customer {Name="Nils Persson", Id=1},
new Customer {Name="Pelle Rundström",Id=2},
new Customer {Name="Ulla Ulriksson",Id=3}
_context.Dispose();
}
//// GET: Vidly
//public ActionResult Index()
//{
// return View();
//}
public ActionResult New()
{
var membershipTypes = _context.MembershipTypes.ToList();
var viewModel = new CustomerFormViewModel
{
Customer = new Customer(),
MembershipTypes = membershipTypes
};
return View("CustomerForm",viewModel);
}
// GET: Vidly
public ActionResult Index()
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Save(Customer customer)
{
return View();
if (!ModelState.IsValid)
{
var viewModel = new CustomerFormViewModel
{
Customer = customer,
MembershipTypes = _context.MembershipTypes.ToList()
};
return View("CustomerForm",viewModel);
}
public ActionResult Customers()
if (customer.Id==0)
_context.Customers.Add(customer);
else
{
var customerInDb = _context.Customers.Single(c => c.Id == customer.Id);
// Mapper.Map(customer, customerInDb);
customerInDb.Name = customer.Name;
customerInDb.BirthDate = customer.BirthDate;
customerInDb.MembershipTypeId = customer.MembershipTypeId;
customerInDb.IsSubscribedToNewsLetter = customer.IsSubscribedToNewsLetter;
}
_context.SaveChanges();
return RedirectToAction("Index","Customers");
}
[Route("Customers")]
[Route("Customers/Index")]
public ActionResult Index()
{
var viewModel = new CustomersViewModel()
{
Customers = customers
Customers = _context.Customers.Include(c=>c.MembershipType).ToList()
};
return View(viewModel);
}
[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.Include(c => c.MembershipType).SingleOrDefault(c => c.Id == nr);
if (customer== null)
return HttpNotFound();
return View(customer);
}
public ActionResult Movies()
public ActionResult Edit(int id)
{
return View();
var customer = _context.Customers.SingleOrDefault(c=>c.Id==id);
if (customer == null)
return HttpNotFound();
var viewModel = new CustomerFormViewModel
{
Customer = customer,
MembershipTypes = _context.MembershipTypes.ToList()
};
return View("CustomerForm", viewModel);
}
//public ActionResult Movies()
//{
// return View();
//}
}
}

View File

@ -8,6 +8,10 @@ namespace Vidly.Controllers
{
public class HomeController : Controller
{
[Route("")]
[Route("Home")]
[Route("Home/Index")]
public ActionResult Index()
{
return View();

View File

@ -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;
@ -10,76 +11,96 @@ namespace Vidly.Controllers
{
public class MoviesController : Controller
{
List<Movie> movies = null;
private ApplicationDbContext _context;
public MoviesController()
{
movies = new List<Movie>
{
new Movie{Name="Never say never again", Id=1},
new Movie{Name="Doctor Zivago",Id=2},
new Movie{Name="Hånkentomtarna",Id=3}
};
_context = new ApplicationDbContext();
}
// GET: Movies
public ActionResult Random()
{
var movie = new Movie() { Name = "Shrek!" };
var customers = new List<Customer>
{
new Customer {Name="Customer 1"},
new Customer {Name="Customer 2"}
};
//var viewResult = new ViewResult();
//viewResult.ViewData.Model = movie;
var viewModel = new RandomMovieViewModel()
protected override void Dispose(bool disposing)
{
Movie = movie,
Customers = customers
};
_context.Dispose();
}
public ActionResult New()
{
var movieGenres = _context.MovieGenres.ToList();
var viewModel = new MovieFormViewModel
{
//Movie = new Movie(),
MovieGenres = movieGenres
};
return View("MovieForm", viewModel);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Save(Movie movie)
{
if (!ModelState.IsValid)
{
var viewModel = new MovieFormViewModel(movie)
{
MovieGenres = _context.MovieGenres.ToList()
};
return View("MovieForm", viewModel);
}
if (movie.Id == 0)
_context.Movies.Add(movie);
else
{
var movieInDb = _context.Movies.Single(c => c.Id == movie.Id);
// Mapper.Map(customer, customerInDb);
movieInDb.Name = movie.Name;
movieInDb.ReleaseDate = movie.ReleaseDate;
movieInDb.MovieGenreId = movie.MovieGenreId;
movieInDb.NumberInStock = movie.NumberInStock;
}
_context.SaveChanges();
return RedirectToAction("Index", "Movies");
}
[Route("Movies")]
[Route("Movies/Index")]
public ActionResult Index()
{
var viewModel = new MoviesViewModel()
{
Movies = _context.Movies.Include(m => m.MovieGenre).ToList()
};
return View(viewModel);
}
//return View(movie);
//return Content("Hello World");
//return HttpNotFound();
//return new EmptyResult();
//return RedirectToAction("Index", "Home",new { page = 1, sortBy = "name" });
[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);
}
public ActionResult Edit(int id)
{
return Content("id=" + id);
}
var movie = _context.Movies.SingleOrDefault(c => c.Id == id);
public ActionResult Index(int? pageIndex, string sortBy)
if (movie == null)
return HttpNotFound();
var viewModel = new MovieFormViewModel(movie)
{
if (!pageIndex.HasValue)
pageIndex = 1;
if (string.IsNullOrWhiteSpace(sortBy))
sortBy = "Name";
return Content($"pageIndex={pageIndex}&sortBy={sortBy}");
}
public ActionResult Movies()
{
var viewModel = new MoviesViewModel()
{
Movies = movies
MovieGenres = _context.MovieGenres.ToList()
};
return View(viewModel);
}
[Route("movies/released/{year}/{month:regex(\\d{2}):range(1,12)}")]
public ActionResult ByReleaseDate(int year, int month)
{
return Content(year + "/" + month);
}
return View("MovieForm", viewModel);
}
}

25
Vidly/Dtos/CustomerDto.cs Normal file
View File

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using Vidly.Models;
namespace Vidly.Dtos
{
public class CustomerDto
{
public int Id { get; set; }
[Required(ErrorMessage = "Please enter customer's name.")]
[StringLength(255)]
public string Name { get; set; }
[Min18YearsIfAMember]
public DateTime? BirthDate { get; set; }
public bool IsSubscribedToNewsLetter { get; set; }
public byte MembershipTypeId { get; set; }
}
}

View File

@ -1,10 +1,13 @@
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using Vidly.App_Start;
namespace Vidly
{
@ -12,6 +15,8 @@ namespace Vidly
{
protected void Application_Start()
{
Mapper.Initialize(c => c.AddProfile<MappingProfile>());
GlobalConfiguration.Configure(WebApiConfig.Register);
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);

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 AddIsSubscribedToNewsLetter : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddIsSubscribedToNewsLetter));
string IMigrationMetadata.Id
{
get { return "201901181614018_AddIsSubscribedToNewsLetter"; }
}
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 AddIsSubscribedToNewsLetter : DbMigration
{
public override void Up()
{
AddColumn("dbo.Customers", "IsSubscribedToNewsLetter", c => c.Boolean(nullable: false));
}
public override void Down()
{
DropColumn("dbo.Customers", "IsSubscribedToNewsLetter");
}
}
}

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 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"); }
}
}
}

View 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");
}
}
}

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 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"); }
}
}
}

View 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()
{
}
}
}

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 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"); }
}
}
}

View File

@ -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());
}
}
}

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 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>H4sIAAAAAAAEAOVd227ruBV9L9B/EPTUFhk7lyY4DewZ5DhJazQ3xMlB3wJaoh3hSJRHonJiFPNlfegn9RdK6mbxJlGyLMstBhjEErn25uYiuUnurfOff/179Mun5xofMAgdH43Nk8GxaUBk+baDlmMzwoufvpi//Pz7341ubO/T+JaVO6PlSE0Ujs13jFeXw2FovUMPhAPPsQI/9Bd4YPneENj+8PT4+C/Dk5MhJBAmwTKM0XOEsOPB+Af5OfGRBVc4Au69b0M3TJ+TN7MY1XgAHgxXwIJj85tju+tBUs40rlwHEB1m0F2YBkDIxwATDS9fQzjDgY+WsxV5ANyX9QqScgvghjDV/HJTXLcRx6e0EcNNxQzKikLsezUBT85Sqwz56o1sa+ZWI3a7IfbFa9rq2HZjcxKLgIFp8MIuJ25AC7KmHWQVjoz48VHe+YQj9L8jYxK5OArgGMEIB8A9Mp6iuetYf4frF/87RGMUuW5RKaIWecc8II+eAn8FA7x+hotU1altGkO23pCvmFcr1EkaMUX47NQ0HohwMHdh3ueFBs+wH8C/QgQDgKH9BDCGAaIYMLaaIJ2TRf+fSSMkIyPFNO7B5x1ES/w+Nk/Pz03j1vmEdvYk1eAVOWRgkUo4iKBEw3Kp03AWzUMrcObQfvEf4I/wDlLFM02++r4LAaqNew+9OenZd2dFcTZ2/LrGGko+gA9nGVu1FNY0nqEbF6NPkvGaM+yNL3sb+N6z7xZYyxV5m/lRYNFO8MvLvYBgCTGr9Wi4GRylQ4ZXS3PgsNUObfjodXu9EXF+rDUgymXMnCV6Xd1CWBjoJxe1Vb2OgrjzpujeR/h9q2ZfO6Hlk5XsGWBYA0ibgNmERDleRr/7fFm4ClcPEA+yioME8jYgcD/84PugiHhkaNfbsPdUl71nJ/PF2ZfzC2CfXfwZnp13z2QJEU9Ov+xiaq5cEC5akaqca4mzE4TSKbbY329psc3sKr4VJlZJka3m1AyPQrVP6wy1/9Smmor0lhalDWoyEjIRXY+GTN/dytVm3NVqRTovpha1iPYyztU7tHW8u/6+8YDjtjD9aUgh+8SFE3jQ3tbpfQJhSEa//TcQvpeoTv5sw3OBVhQQUs4w8FY7l/b07iP4EFEftEtZrXXNyw//Flhkh3aDaK2t8e5867sf4RtkXxM37RVbGSD9+eJ4+gCtqHNlWTAMbwmZoT2hzmPVvrUcjk5N+3Y/Ji5wPLn/wU2ib1nRjQ8iLyH4IYpiMl+kTNU7f+kgPVWzompVkxKVqqbF6qpKwfQ0TUuqFY0LVOqZlGrNu4t7qH33Lobtv3/X9zOsfTmHcfclxyk7XptiSd+AG7UtqtFoiCeB9kdDDNv/0RCrSR5/ODb1SjQ2PVlhAq9VXr6fqh5znGZdDwemmV0L72YOUA2XqzD0LSceBdwVBX8ezDaCOHKG5uFw0q7iUTNpHqG7Qxc+otLY/JNgo2r4bIUswPMnxayQE5Pn7yO6hi7E0LiyktuiCQgtYIs9Rmxns08I5WFABzegu6GQDFkHYXF8OMhyVsDVawpXXXNBo+rlgvg313AFEZ2E9PpKRwPxokLUJxfLmbHKaqNhgY7lLJUcqakYVHa+tiEPe8q7Q+qUKiZhtXhWVzV4GpFTbaUOeKm2hI5w+dFcR0RU7K1UfV610dr0u3Bi1gknK3Z4Cl6mu4ydELPcYh2Qs9wkOgooj5n3QdB0R61LAH573TeCcvt6BUFTx78TgrIW2wNBWZMcHEGTgxTd/udOVfpGT/Y4p/tlvdRce+AmY4+eUTPZIZE6mNSAgUjP6zl9CT+x5AiB6JmeIoTphoynCAWfQcxts0LT2OzMhH2SsC1iQVhnXAbF74kqANNDTAGG9Y4rQHhqlwFu6F8Bml6bC0DCMK+hXHYOXqpd6tvUgM3OrEth0xWJgy0wU6SKEKFVKF0RzMUPHv3te95QhrLCaNTfsBcABfryEy1rDg1TySItRCtVbR51t4+FpqQ8L7FLyW6vgCMZO1sbRXX9IxpGZzNTZztTaFjaGSUGqth6KIyUNaZ1K2WjuNpKMo+6jk+9lZU4/1dhpawxrVsp5Wi1kSReXQ2/bisTsT5YS4MtO1DN3YX83WiYhMunD0ZDRVz96B6sVg5aFuLs0yfGLAmyn/w0qx+D7iUYQ4uxNu/c5JKwH4Al5N4S0UTTWycI8TXAYA7ocfLE9oRiUudIsVJmInn/R+zIbNnMatC/k1rS2HiJH5nWvCVt86gzGt/TSZYysapBsx2ACwLJteDEdyMPqf1ide0kOKBYP3mij6AOPGe0UpbSlySe8BYlVJ//Uspz9hd8d6GPhR0WSxotSvHuRGNilTtPGvSqAugryQrR3UWYwmN9LCHEu4govKyBy4R7M6DMm97QUrXyaZKR2XrVp2J59X0TcU9dIi78W3dPvpFt3kVqCJWhs8ORoqlVByZqlOz+pIiiulPZW5eptmma3cQfE9TvpUqE3YylNK63CJA+qolRCA0VwArv9FHZ6N0iJvumxvLDhugySxD7qoaWxUBcRsnii0Z4CovKS+hLEENvi+jiW31kSRBuEVryugG2RGf+nT6qJE63CCx5rY+9Cdrlp88er1bKE5kGy1VysrndeqXA2M1c2M5yVwh+LAIVHtfESsMbBbD0eS95pDyzasCj5Ch7Ox4pMNSzDRMwyE42pVGOakwmCpCZ0MuiINV49di6U04Ih1V8kVx6fmjFHU6N0oOi6i9DCCdHSRHTyMxIFvN1iKE3oAUGs1/dietAOnVnBe4BchYwxEnkq3l6fHLKfWKiP597GIah7UoO2mTffGD7q4MAdodatTJEfYs0W/QBAusdBOKXF1r+rMLcwa19UgE7aB1bRrjDnSIbfo7Nf8YAl8b0H288xpHxGBCGXhrHxm9tpUaWxtl2wJLcHm0TgX5wYIPZ6OsCoQdct4lyig8MNG2r7BsDeljNPjPQOQmkHRhHnrfCiqqhRhtN/4ofHxnT8BU5v0bkxQthDR1qfCZduzYvyYPPFf3tIBLM9U1OZrekKjunbdn9bNp5LW2Sqlto0zgZ/XBHG5P1rViNL+rOwvIk7yZLsCzBO9PyDx74/GPtBUKWxL0VoiRRuy28VkyoSsRugqVMwrbJTxwnYddrrDwpu4lqyoTsJqs1n46tPw1lNfe4DklOVA52r9CvtUnIet1qoIuZrTXgWs1e3c5FObCs0NaWTknSZ2vY++T97jI9+fDT/aReipGmDXNMG8XTV4aG7Cxn8/8gO7MvCZmb7eB+8zC7TL0siV/4n8q47EGOkCS7YP95lV1zTXX52PPktHrZkz0jW+pA7j9HsmuyqW4oe062WpmQPePavtbPPTNNewnde16jGOHPd6s8YbE0XzG56x2b9twnnZ/sUZRpYxXpjBrZjDJxVUllvFDWzxREsq9lApOPPcnzR1TCNoNAKXBTRC1UnbjCCxYmBEGuUKJcbL22po5MaWPTMuViFeleZbLTda1UdlqmXLYiiar7nE35OJFlHugkakpzPPufiynN5JKlElcsUWWB2IeUe8m0pCIrumo7Uhrsd0iplq0YhZlAFJFrh5NZ2YpJ2hw6NTIpxSA04hYV/hEj4pqFznIDQf9JIwQtxiHKy0zRws/8Mk6jrIgQUYSBTbylqwA7C2Bh8preWsUf7ItvAujd6RzaU/QY4VWESZPJdOwyp+TUvyuTH6eLsjqPHlf0V9hGE4iaDr3te0RfI8e1c71vJQfJCgjqOKZ3RLQvMb0rWq5zpAcfaQKl5sv93RforVwCFj6iGfiATXQj9LuDS2CtN9cGKpDqjmDNPrp2wDIAXphibOqTn4TDtvf5838B1mP5UstrAAA=</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

@ -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 AddedRequiredAndMaxlengthToMovieName : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddedRequiredAndMaxlengthToMovieName));
string IMigrationMetadata.Id
{
get { return "201901222208159_AddedRequiredAndMaxlengthToMovieName"; }
}
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 AddedRequiredAndMaxlengthToMovieName : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Movies", "Name", c => c.String(nullable: false, maxLength: 255));
}
public override void Down()
{
AlterColumn("dbo.Movies", "Name", c => c.String());
}
}
}

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 AddedNullableReleaseDateToMovie : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddedNullableReleaseDateToMovie));
string IMigrationMetadata.Id
{
get { return "201901222224513_AddedNullableReleaseDateToMovie"; }
}
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 AddedNullableReleaseDateToMovie : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Movies", "ReleaseDate", c => c.DateTime());
}
public override void Down()
{
AlterColumn("dbo.Movies", "ReleaseDate", c => c.DateTime(nullable: false));
}
}
}

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 AddedNullableAddedDateToMovie : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddedNullableAddedDateToMovie));
string IMigrationMetadata.Id
{
get { return "201901222227126_AddedNullableAddedDateToMovie"; }
}
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 AddedNullableAddedDateToMovie : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Movies", "DateAdded", c => c.DateTime());
}
public override void Down()
{
AlterColumn("dbo.Movies", "DateAdded", c => c.DateTime(nullable: false));
}
}
}

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>H4sIAAAAAAAEAO1d3W7cuBW+L9B3EHTVFl6Pf5ogNWZ24Yzj1mhsBxkn6J3BkeixEImalTiOjWKfrBd9pL5CSf3yX5RGo5GDRYDAlsiPh4ffIQ9JneP//ee/01+eo9B5gkkaxGjmHh8euQ5EXuwHaDVzN/jhp3fuLz//8Q/TD3707Hwty53ScqQmSmfuI8brs8kk9R5hBNLDKPCSOI0f8KEXRxPgx5OTo6O/TY6PJ5BAuATLcaafNwgHEcx+Ib/OY+TBNd6A8Dr2YZgWz8mbRYbq3IAIpmvgwZn7NfDDl8O8nOuchwEgMixg+OA6AKEYA0wkPPuSwgVOYrRarMkDEN69rCEp9wDCFBaSn9XFbTtxdEI7MakrllDeJsVx1BLw+LTQykSs3km3bqU1orcPRL/4hfY6093MnWdNwMR1xMbO5mFCC/KqPSwrHDjZ44Nq8AlH6L8DZ74J8SaBMwQ3OAHhgfNpswwD75/w5S7+BtEMbcKQFYqIRd5xD8ijT0m8hgl++QwfClGvfNeZ8PUmYsWqGlMn78QVwqcnrnNDGgfLEFZjznR4geME/h0imAAM/U8AY5ggigEzrUmtC23R/8vWCMmIpbjONXj+CNEKP87ckzdvXOcyeIZ++aSQ4AsKiGGRSjjZQIWE5lbfBwl+vCACl03Tn++CqLHiVbrYLFMvCZbQv4tv4Pf0I6Q9LnHex3EIAWot0DWMloQSj8Ga4tQD8P4FW/TuBjwFq2w4jLCu8xmGWTH6JDf0ipr3YtnLJI4+xyFDd6HI/SLeJB5VYWwudweSFcS81NNJbVVGWxPFsrQ4vtprszu7YW9nSm+OrCzJ3MYiWKEv60sImRni+G1rUS82STZ4V+g6Rvhxq25fBKkXkyXwM2POFkD2BIyfAjrBJS3IV1X5nXhEgeC5NfPajU67gXltY/KjLsJkMYIghV2WYVru3Peh37bizYYuC1eIKMz71qTghiW7MvL+lmtmqlEs1dnre7ZQvUaL76TFWSqw1apcMotim6zvunKyz9P1DcSHZcXDHPIyIXDf4+TbIYt44FjXq634xNaKT4+XD6fv3rwF/unbv8LTN8NbtMLGjk/e7cLGGi37bS+tahlNto5JqiQzO973RbGazvJbidCKIr1QmkL1T+sSdfzUppLK9FYWpR3qYgllE0NbQynvbtu1Ztz5ek0GL6MW1Yi1FyPUe23+zHDj/SECQdjD9GfRyjxGD0ES1R5J15OATyBNifX7/wDpY89OtWI7B71NQki5wCBa77y1T48xgrkHNmRbvQ3N3ff4EnjE1f6AaK2t8T4SHzTe4A/Ip+7rF+y19WYrgF7EOfc8mKaXhMzQn9Md9Xb+MZ2a9u1+zEMQRGr/Q5hE78uitQ+iLiH5IZpiKl/EJOrHeBUgO1HLonpR8xKNohbF2opKwewkLUrqBc0KNMqZl+rNu8tGqH/3LoMdv3839sOIfTmH2fDlZ8w7Xpuylr6CcLO3UzOWttkk0L81ZLDjt4ZMTPL4KfCpV2Kx6SkLE3ir8ur9VLPNCZINbQ5cN4dufJg5QGcu52kae0FmBcKFr3hJxneCOHKO5Y1Z3i/2/o10j9A9oAsfEWnm/kXSUTN8uUIy8OL1Gd/IsSvy9xZdwBBi6Jx7+d37HKQe8OURI7rz+SeE8jChxg3obiglJhsgLNtHgLxgDUK7rgjVLRc0Kl7VkPjmAq4hopOQ3VjZSCDf3sryVM0KamzS2nTC0NHMUul8WMcf/WExQ5z8YsWelNoDZhG0OLseGxN18g9AQd14WHGPu4bYC+8UR7k6kpjOdWua8LcLOySKUTAFf+Uz4ib76ERFvZYGIKNeEzaNq4+EByKiZk+vG/OmDX497tJJ7SCcbDhZ0PCy2N3uhJhmjQ1ATrNKbATQXm/sg6DFSY4tAcRjnbERVDhP0hC02HAOQlBeY3sgKK+SV0fQ/ADPdvyF07yx0ZM/Rhx+WTeqaw/c5PQxMmrmO3NSB5MaMJHpebGkL+EzVhxdETmL06u0OAgQKULBFxAL2/vUdeoTAWl/Lu18eBB+E6iCEvfiTYCVZ68EY7ZSNkBajMbqxSG+VJv30htARBMzAdZm2ABafDYiAUnTTQvhynsgo3SFj9UCtryzMcIWK6MAy1iITFnps22mdMMX3qIR2x9fVR3lTEeaFewPrBhAyYzECZ9Xh4Wq5M/mZB2Zj07sDk/YThQWZ1CJ9rhEhClngK31oPriStZE02bedjvPdKOwd4MyDLtvBkcxh2ytFN01sKwYm81lm+0l07FiMAwKatgKapRUdqZ3LZWzWbOWVDucNnucrbQk7Ec0Wio707uWCo42K0nhZbfws7dSEe8T92Rs5cVK5b5V76aTPAixeDCdaKIVp9dgvQ7QioleLJ44izx0cf7Ton1kX5RjTDxO26KzWbWE4wSsoPCWNE0kvQySFF8ADJaAXivN/UgqpnRWNR5D2aToj8oDWboPZQ36c15LGXGo8OuLmpekbxHdHGT39YolXa7q0BhSEIJE8XnAPA43EdLvU/S184+E2Pr5E3sEJpyPhWEe22PpI/y4HmpL2bck3xqxLTTfKVHzEcZS2pdJfJF2zzwBregpumidSWp2SC2o2gQwVsIyYXQsDPPYHkuKpWMRpZctcLm4Og6UezMeWjLecndKarcANnQ0VN43Ffc5KNuOR9ehGN8o6BC4WDgWiHvRwnjrADnOcuvHLXrHx8xx3eRftVj7uFtrbt0z3mfvjcc6F92SxtxZWXs2m6vvm9R7GhJ5h7L18FQnj92HSA+hU3R5qs6qWnfSrkcpL965yUNzGb+3IdOdJ1kOk3iu236UGhF2Y0tFIBILUDxqicHEskhgzDt7VD7ciMXk37TwbfmYIs6/5V+1kJKNHOKEZF90wtNoVF3CvgU5VohFl9/aIyuihlhoxesO2AqZxXf2qIrAIhZY8doeu44yEqfPEa9W2qPjDstVfhW13XqlwdjNXNjPcsdEa7BAzOOWWEU8hgRWPB8lj7SH6x14lN89bscjDYZ+tuEiHPjJxhiWocfkwha4Cd0UtqHHa8fWnXJCOlUXi1StV6frwin6tDjRbk4MKB1x50Vcp1QjWcxfUgyjQ1rgcPFrOA8DSKfussA1QMEDTHEequOeHB2fCBkGx5Ptb5Kmfqi4EWAiptSH4kNE3AVUq40xdVvkBUFPIPEeQSLn/Nk2q55PfsZZHHONZBMg15Rlbxng3jLs4QC9ZCqWviK6Qj58nrn/zgDOnKt/3YsYB85tQqh+5hw5v/WWbswUYTQA3Sp99M0omn+uHQ2kZHNpBMKwi3CafHNd+6pKOWeH1SXr3KumwJ8i8Pxn88C3zPX2+wSsBVVkVOs6BUsZ1roCKTOudWGXKt9aq8mbqb+LiVt/RjsESZUcyqJkeyFmk35pp+lP2eMD5yr9goJfN+TFHaEI1bGY9aNfnRtydlWC/vYqkmHZq5xQOq/Kk3nL4edTZLWSJq+6hTSdE2e9XmvjMlRp1oG3badcdUKqLk6zKhlVi5Vd4dKpEk5thahIKtUXXi8q1CWN6oKlTRjVdXFWJ5DqIpo2eVSXpV5MHWU/DZU197gOKQ5TX62XOq61ScrQs5Why1l4drFnscm0s52L8soy2PS2dCoS1PSGvU/e7y4rjRgqZAhNGyQ+sw6tU8bb7SQGs/GT053ll/lxM8kUUVWa4MRBqFREMsqxjbshkekj0d1kh/nBc8GMJf1LfZAwfHh4wzeCO0v0Yvjo7YfK7zKCjASKGGJzhPEQeQiG5prui5WRp8Jol6tlZGQrth7muPMfkWy6z1pGTrZWeVdGxrV9rZ97Zpr1Err3LCpy/Ko4rHwei3pLVu9Mpd1a/oHQzPWXMRn8fHerTQ7RkDzFIneKqrmm1BFSo8wuRW6QealszJCbQdmQPv+KFr4ZmXeVpQb416p28qzM6gBvXWO1HWsbrIvoG9VHlosNS3Oa1K5Uwtxsu74Wvpixs0UZc7OafAymtoul2dh2UcbctibLwfDJZdSmrgrnlWdI1dkRU1+bq2kcSWO4qUYMGDV1lps/mPDG7bu545wwyowSqtRODc6E5ntjZZKoMeeA4XrSkKWqaeNo/Ja/f6XsLuVLL0rh5knNh+n9K2VXGV56UUmfptMio4v8jTlxYJk/UU+c6DRY1RD0D9Yj6HGua1XmCj3EpQctSFQWkb7zxcAnfu15goMH4GHymt5MZ39AILvto99HLKF/hW43eL3BpMtk1Qm5mzDqiZvaz9LW8DJPb9f0t7SPLhAxA3qjf4veb4LQr+S+VFwWaSCoi1/cA9OxxPQ+ePVSId3EyBKoUF+1M7mD0TokYOktWoAn2EU2Qr+PcAW8l/pqUAfSPBC82qcXAVglIEoLjLo++ZVw2I+ef/4/J6q/lKmBAAA=</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 AddRequiredMarksOnMovieFields : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(AddRequiredMarksOnMovieFields));
string IMigrationMetadata.Id
{
get { return "201901232137372_AddRequiredMarksOnMovieFields"; }
}
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 AddRequiredMarksOnMovieFields : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Movies", "ReleaseDate", c => c.DateTime(nullable: false));
}
public override void Down()
{
AlterColumn("dbo.Movies", "ReleaseDate", c => c.DateTime());
}
}
}

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

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
@ -8,7 +9,20 @@ namespace Vidly.Models
public class Customer
{
public int Id { get; set; }
[Required(ErrorMessage ="Please enter customer's name.")]
[StringLength(255)]
public string Name { get; set; }
[Display(Name = "Date of Birth")]
[Min18YearsIfAMember]
public DateTime? BirthDate { get; set; }
public bool IsSubscribedToNewsLetter { get; set; }
public MembershipType MembershipType { get; set; }
[Display(Name = "Membership Type")]
public byte MembershipTypeId { get; set; }
}
}

View File

@ -21,9 +21,13 @@ namespace Vidly.Models
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Customer> Customers { get; set; }
public DbSet<Movie> Movies { get; set; }
public DbSet<MembershipType> MembershipTypes { get; set; }
public DbSet<MovieGenre> MovieGenres { get; set; }
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
// : base("DefaultConnection", throwIfV1Schema: false)
: base("Sqlsvr", throwIfV1Schema: false)
{
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Vidly.Models
{
public class MembershipType
{
public byte Id { get; set; }
[StringLength(50)]
public string Name { get; set; }
public short SignUpFee { get; set; }
public byte DurationInMonth { get; set; }
public byte DiscountRate { get; set; }
public static readonly byte Unknown = 0;
public static readonly byte PayAsYouGo = 1;
}
}

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Vidly.Models
{
public class Min18YearsIfAMember : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
var customer = (Customer)validationContext.ObjectInstance;
if (customer.MembershipTypeId == MembershipType.Unknown ||
customer.MembershipTypeId == MembershipType.PayAsYouGo)
return ValidationResult.Success;
if (customer.BirthDate == null)
return new ValidationResult("Birthdate is required");
var age = DateTime.Today.Year - customer.BirthDate.Value.Year;
return (age > 18)
? ValidationResult.Success
: new ValidationResult("Customer should be at least 18 years old to go on a membership.");
}
}
}

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
@ -8,6 +9,27 @@ namespace Vidly.Models
public class Movie
{
public int Id { get; set; }
[Required]
[StringLength(255)]
public string Name { get; set; }
[Required]
[Display(Name="Release Date")]
public DateTime? ReleaseDate { get; set; }
public DateTime? DateAdded { get; set; }
[Required]
[Range(1,20)]
[Display(Name = "Number In Stock")]
public int NumberInStock { get; set; }
public MovieGenre MovieGenre { get; set; }
[Display(Name = "Genre")]
[Required]
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

@ -45,16 +45,28 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="AutoMapper, Version=4.1.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.4.1.0\lib\net45\AutoMapper.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
@ -171,13 +183,17 @@
<Compile Include="App_Start\BundleConfig.cs" />
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\IdentityConfig.cs" />
<Compile Include="App_Start\MappingProfile.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\Startup.Auth.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Controllers\AccountController.cs" />
<Compile Include="Controllers\Api\CustomersController.cs" />
<Compile Include="Controllers\HomeController.cs" />
<Compile Include="Controllers\ManageController.cs" />
<Compile Include="Controllers\MoviesController.cs" />
<Compile Include="Controllers\CustomersController.cs" />
<Compile Include="Dtos\CustomerDto.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
@ -185,16 +201,81 @@
<Compile Include="Migrations\201901172234070_InitialModel.Designer.cs">
<DependentUpon>201901172234070_InitialModel.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901181614018_AddIsSubscribedToNewsLetter.cs" />
<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\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\201901222208159_AddedRequiredAndMaxlengthToMovieName.cs" />
<Compile Include="Migrations\201901222208159_AddedRequiredAndMaxlengthToMovieName.Designer.cs">
<DependentUpon>201901222208159_AddedRequiredAndMaxlengthToMovieName.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901222224513_AddedNullableReleaseDateToMovie.cs" />
<Compile Include="Migrations\201901222224513_AddedNullableReleaseDateToMovie.Designer.cs">
<DependentUpon>201901222224513_AddedNullableReleaseDateToMovie.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901222227126_AddedNullableAddedDateToMovie.cs" />
<Compile Include="Migrations\201901222227126_AddedNullableAddedDateToMovie.Designer.cs">
<DependentUpon>201901222227126_AddedNullableAddedDateToMovie.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201901232137372_AddRequiredMarksOnMovieFields.cs" />
<Compile Include="Migrations\201901232137372_AddRequiredMarksOnMovieFields.Designer.cs">
<DependentUpon>201901232137372_AddRequiredMarksOnMovieFields.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\Min18YearsIfAMember.cs" />
<Compile Include="Models\Movie.cs" />
<Compile Include="Models\MovieGenre.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Startup.cs" />
<Compile Include="ViewModels\CustomersViewModel.cs" />
<Compile Include="ViewModels\MovieFormViewModel.cs" />
<Compile Include="ViewModels\MoviesViewModel.cs" />
<Compile Include="ViewModels\CustomerFormViewModel.cs" />
<Compile Include="ViewModels\RandomMovieViewModel.cs" />
</ItemGroup>
<ItemGroup>
@ -232,7 +313,7 @@
<Content Include="Views\Shared\_Layout.cshtml" />
<Content Include="Views\Home\About.cshtml" />
<Content Include="Views\Home\Contact.cshtml" />
<Content Include="Views\Home\Index.cshtml" />
<Content Include="Views\Home\Old_Index.cshtml" />
<Content Include="Views\Account\_ExternalLoginsListPartial.cshtml" />
<Content Include="Views\Account\ConfirmEmail.cshtml" />
<Content Include="Views\Account\ExternalLoginConfirmation.cshtml" />
@ -255,10 +336,14 @@
<Content Include="Views\Shared\_LoginPartial.cshtml" />
<Content Include="Views\Movies\Random.cshtml" />
<Content Include="Views\Shared\_NavBar.cshtml" />
<Content Include="Views\Customers\Old_Index.cshtml" />
<Content Include="Views\Customers\Index.cshtml" />
<Content Include="Views\Customers\Customers.cshtml" />
<Content Include="Views\Movies\Movies.cshtml" />
<Content Include="Views\Movies\Index.cshtml" />
<Content Include="Views\Customers\Customer.cshtml" />
<Content Include="Views\Movies\Movie.cshtml" />
<Content Include="Views\Customers\CustomerForm.cshtml" />
<Content Include="Views\Home\Index.cshtml" />
<Content Include="Views\Movies\MovieForm.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
@ -281,6 +366,51 @@
<EmbeddedResource Include="Migrations\201901172234070_InitialModel.resx">
<DependentUpon>201901172234070_InitialModel.cs</DependentUpon>
</EmbeddedResource>
<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>
<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>
<EmbeddedResource Include="Migrations\201901222208159_AddedRequiredAndMaxlengthToMovieName.resx">
<DependentUpon>201901222208159_AddedRequiredAndMaxlengthToMovieName.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901222224513_AddedNullableReleaseDateToMovie.resx">
<DependentUpon>201901222224513_AddedNullableReleaseDateToMovie.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901222227126_AddedNullableAddedDateToMovie.resx">
<DependentUpon>201901222227126_AddedNullableAddedDateToMovie.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201901232137372_AddRequiredMarksOnMovieFields.resx">
<DependentUpon>201901232137372_AddRequiredMarksOnMovieFields.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Vidly.Models;
namespace Vidly.ViewModels
{
public class CustomerFormViewModel
{
public IEnumerable<MembershipType> MembershipTypes { get; set; }
public Customer Customer { get; set; }
}
}

View File

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using Vidly.Models;
namespace Vidly.ViewModels
{
public class MovieFormViewModel
{
public IEnumerable<MovieGenre> MovieGenres { get; set; }
public int? Id { get; set; }
[Required]
[StringLength(255)]
public string Name { get; set; }
[Required]
[Display(Name = "Release Date")]
public DateTime? ReleaseDate { get; set; }
[Required]
[Range(1, 20)]
[Display(Name = "Number In Stock")]
public int? NumberInStock { get; set; }
[Display(Name = "Genre")]
[Required]
public byte? MovieGenreId { get; set; }
public string Title
{
get
{
return (Id != 0) ? "Edit Movie":"New Movie";
}
}
public MovieFormViewModel()
{
Id = 0;
}
public MovieFormViewModel(Movie movie)
{
Id = movie.Id;
Name = movie.Name;
ReleaseDate = movie.ReleaseDate;
NumberInStock = movie.NumberInStock;
MovieGenreId = movie.MovieGenreId;
}
}
}

View File

@ -8,3 +8,11 @@
<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

@ -0,0 +1,50 @@
@model Vidly.ViewModels.CustomerFormViewModel
@{
/**/
ViewBag.Title = "New";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@if (Model.Customer.Id == null || Model.Customer.Id == 0)
{
<h2>New Customer</h2>
}
else
{
<h2>Edit Customer</h2>
}
@using (@Html.BeginForm("Save", "Customers"))
{
@Html.ValidationSummary(true, "Var snäll och åtgärda felen.")
<div class="form-group">
@Html.LabelFor(m => m.Customer.Name)
@Html.TextBoxFor(m => m.Customer.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Customer.Name)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Customer.MembershipTypeId)
@Html.DropDownListFor(m => m.Customer.MembershipTypeId, new SelectList(Model.MembershipTypes, "Id", "Name"), "Select membership Type", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Customer.MembershipTypeId)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Customer.BirthDate)
@Html.TextBoxFor(m => m.Customer.BirthDate, "{0:d MMM yyyy}", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Customer.BirthDate)
</div>
<div class="checkbox">
<label>
@Html.CheckBoxFor(m => m.Customer.IsSubscribedToNewsLetter) Subscribed to Newsletter ?
</label>
</div>
@Html.HiddenFor(m => m.Customer.Id)
@Html.AntiForgeryToken();
<button type="submit" class="btn btn-primary">Save</button>
}
@section scripts
{
@Scripts.Render("~/bundles/jqueryval")
}

View File

@ -1,23 +0,0 @@
@model Vidly.ViewModels.CustomersViewModel
@{
ViewBag.Title = "Customers";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Customers</h2>
@if (Model.Customers.Count == 0)
{
<text>No one has rented this movie before.</text>
}
else
{
<ul>
@foreach (var customer in Model.Customers)
{
@*<li>@customer.Name</li>*@
<li>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id },null)</li>
}
</ul>
}

View File

@ -1,11 +1,37 @@

@model Vidly.ViewModels.CustomersViewModel
@{
ViewBag.Title = "Vidly";
ViewBag.Title = "Customers";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="jumbotron">
<h1>V i d l y</h1>
<p class="lead">Vidly is a great video rental system built in MVC5 with entity framework, Razorviews and Javascript.</p>
@*<p><a href="https://asp.net" class="btn btn-primary btn-lg">Learn more &raquo;</a></p>*@
</div>
<h2>Customers</h2>
@*<button type="submit" class="btn btn-primary" onclick="">New Customer</button>*@
@Html.ActionLink("New Customer", "New", "Customers", null, new { @class = "btn btn-primary" })
@if (Model.Customers.Count == 0)
{
<text>No one has rented this movie before.</text>
}
else
{
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Customer</th>
<th>Membership Type</th>
</tr>
</thead>
<tbody>
@foreach (var customer in Model.Customers)
{
<tr>
<td>@Html.ActionLink(@customer.Name, "Edit", "Customers", new { id = @customer.Id }, null)</td>
<td>@customer.MembershipType.Name</td>
</tr>
}
</tbody>
</table>
}

View File

@ -0,0 +1,11 @@

@{
ViewBag.Title = "Vidly";
}
<div class="jumbotron">
<h1>V i d l y</h1>
<p class="lead">Vidly is a great video rental system built in MVC5 with entity framework, Razorviews and Javascript.</p>
@*<p><a href="https://asp.net" class="btn btn-primary btn-lg">Learn more &raquo;</a></p>*@
</div>

View File

@ -1,31 +1,11 @@
@{
ViewBag.Title = "Home Page";

@{
ViewBag.Title = "Vidly";
}
<div class="jumbotron">
<h1>ASP.NET</h1>
<p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.</p>
<p><a href="https://asp.net" class="btn btn-primary btn-lg">Learn more &raquo;</a></p>
<h1>V i d l y</h1>
<p class="lead">Vidly is a great video rental system built in MVC5 with entity framework, Razorviews and Javascript.</p>
@*<p><a href="https://asp.net" class="btn btn-primary btn-lg">Learn more &raquo;</a></p>*@
</div>
<div class="row">
<div class="col-md-4">
<h2>Getting started</h2>
<p>
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that
enables a clean separation of concerns and gives you full control over markup
for enjoyable, agile development.
</p>
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301865">Learn more &raquo;</a></p>
</div>
<div class="col-md-4">
<h2>Get more libraries</h2>
<p>NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects.</p>
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301866">Learn more &raquo;</a></p>
</div>
<div class="col-md-4">
<h2>Web Hosting</h2>
<p>You can easily find a web hosting company that offers the right mix of features and price for your applications.</p>
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301867">Learn more &raquo;</a></p>
</div>
</div>

View File

@ -0,0 +1,31 @@
@{
ViewBag.Title = "Home Page";
}
<div class="jumbotron">
<h1>ASP.NET</h1>
<p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.</p>
<p><a href="https://asp.net" class="btn btn-primary btn-lg">Learn more &raquo;</a></p>
</div>
<div class="row">
<div class="col-md-4">
<h2>Getting started</h2>
<p>
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that
enables a clean separation of concerns and gives you full control over markup
for enjoyable, agile development.
</p>
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301865">Learn more &raquo;</a></p>
</div>
<div class="col-md-4">
<h2>Get more libraries</h2>
<p>NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects.</p>
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301866">Learn more &raquo;</a></p>
</div>
<div class="col-md-4">
<h2>Web Hosting</h2>
<p>You can easily find a web hosting company that offers the right mix of features and price for your applications.</p>
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301867">Learn more &raquo;</a></p>
</div>
</div>

View File

@ -0,0 +1,33 @@
@model Vidly.ViewModels.MoviesViewModel
@{
ViewBag.Title = "Movies";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Movies</h2>
@Html.ActionLink("New Movie", "New", "Movies", null, new { @class = "btn btn-primary" })
@if (Model.Movies.Count == 0)
{
<text>No one has rented this movie before.</text>
}
else
{
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Movie</th>
<th>Genre</th>
</tr>
</thead>
<tbody>
@foreach (var movie in Model.Movies)
{
<tr>
<td>@Html.ActionLink(@movie.Name, "Edit", "Movies", new { id = movie.Id }, null) </td>
<td>@movie.MovieGenre.Name</td>
</tr>
}
</tbody>
</table>
}

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

@ -0,0 +1,43 @@
@model Vidly.ViewModels.MovieFormViewModel
@{
ViewBag.Title = "New";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>@Model.Title</h2>
@using (Html.BeginForm("Save", "Movies"))
{
@Html.ValidationSummary(true, "Var snäll och åtgärda felen.")
<div class="form-group">
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Name)
</div>
<div class="form-group">
@Html.LabelFor(m => m.ReleaseDate)
@Html.TextBoxFor(m => m.ReleaseDate, "{0:d MMM yyyy}", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.ReleaseDate)
</div>
<div class="form-group">
@Html.LabelFor(m => m.MovieGenreId)
@Html.DropDownListFor(m => m.MovieGenreId, new SelectList(Model.MovieGenres, "Id", "Name"), "Select Genre Type", new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.MovieGenreId)
</div>
<div class="form-group">
@Html.LabelFor(m => m.NumberInStock)
@Html.TextBoxFor(m => m.NumberInStock, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.NumberInStock)
</div>
@Html.HiddenFor(m => m.Id)
@Html.AntiForgeryToken();
<button type="submit" class="btn btn-primary">Save</button>
}
@section scripts
{
@Scripts.Render("~/bundles/jqueryval")
}

View File

@ -1,23 +0,0 @@
@model Vidly.ViewModels.MoviesViewModel
@{
ViewBag.Title = "Movies";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Movies</h2>
@if (Model.Movies.Count == 0)
{
<text>No one has rented this movie before.</text>
}
else
{
<ul>
@foreach (var movie in Model.Movies)
{
<li>@movie.Name</li>
@*<li>@Html.ActionLink(@customer.Name, "Details", "Customers", new { id = @customer.Id }, null)</li>*@
}
</ul>
}

View File

@ -4,12 +4,12 @@
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
@Html.ActionLink("Vidly", "Index", "Customers", new { area = "" }, new { @class = "navbar-brand" })
@Html.ActionLink("Vidly", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
<div class="navbar-collapse collapse" id="navbarSupportedContent">
<ul class="nav navbar-nav mr-auto">
<li class="nav-item">@Html.ActionLink("Customers", "Customers", "Customers", null, new { @class = "nav-link" })</li>
<li class="nav-item">@Html.ActionLink("Movies", "Movies", "Movies", null, new { @class = "nav-link" })</li>
<li class="nav-item">@Html.ActionLink("Customers", "Index", "Customers", null, new { @class = "nav-link" })</li>
<li class="nav-item">@Html.ActionLink("Movies", "Index", "Movies", null, new { @class = "nav-link" })</li>
@*<li class="nav-item">@Html.ActionLink("Contact", "Contact", "Home", null, new { @class = "nav-link" })</li>*@
</ul>
@Html.Partial("_LoginPartial")

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=301880
@ -6,100 +6,97 @@
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-Vidly-20190115084450.mdf;Initial Catalog=aspnet-Vidly-20190115084450;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-Vidly-20190115084450.mdf;Initial Catalog=aspnet-Vidly-20190115084450;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="Sqlsvr" connectionString="Data Source=TOMMYASUS\SQLEXPR2017;Initial Catalog=aspVidly;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<authentication mode="None"/>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" />
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthentication"/>
<remove name="TelemetryCorrelationHttpModule"/>
<add name="TelemetryCorrelationHttpModule"
type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation"
preCondition="integratedMode,managedHandler"/>
<remove name="FormsAuthentication" />
<remove name="TelemetryCorrelationHttpModule" />
<add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
</modules>
</system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers></system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1"/>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0"/>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
</configuration>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net461" />
<package id="AutoMapper" version="4.1.0" targetFramework="net461" />
<package id="bootstrap" version="3.3.7" targetFramework="net461" />
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
<package id="jQuery" version="3.3.1" targetFramework="net461" />
@ -12,6 +13,10 @@
<package id="Microsoft.AspNet.Razor" version="3.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.TelemetryCorrelation" version="1.0.0" targetFramework="net461" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebPages" version="3.2.4" targetFramework="net461" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.4" targetFramework="net461" />