public ActionResult Create(int id, StoreContract contract) { var store = Store.Find(id); if (store == null) throw new InvalidOperationException("no store found"); //var contract = new StoreContract(); //TryUpdateModel(contract); contract.CreateAndFlush(); store.AddContract(contract); //DateTime startDate = DateTime.Parse(collection["StartDate"]); //decimal agreedPricePerNonPrintedRoll = decimal.Parse(collection["AgreedPricePerNonPrintedRoll"]); //var contract = store.AddContract(startDate, agreedPricePerNonPrintedRoll); //http://www.mikesdotnetting.com/Article/125/ASP.NET-MVC-Uploading-and-Downloading-Files if (Request.Files.Count > 0 && Request.Files[0].HasFile()) { var httpFile = Request.Files[0]; string mimeType = httpFile.ContentType; Stream fileStream = httpFile.InputStream; string fileName = Path.GetFileName(httpFile.FileName); int fileLength = httpFile.ContentLength; byte[] fileData = new byte[fileLength]; fileStream.Read(fileData, 0, fileLength); contract.AddDocument(fileName, mimeType, fileData); } store.SaveAndFlush(); return View(); }
public void CanSaveNewContractWithoutADocument() { var store = new Store { Name = "store 1" }; store.SaveAndFlush(); var controller = new StoreContractController(); controller.ControllerContext = new ControllerContext(contextMock.Context, new RouteData(), controller); var newContract = new StoreContract { StartDate = DateTime.Now.AddDays(-30), TermInMonths = 24, AgreedPricePerPrintedRoll = -0.5m, AgreedPricePerNonPrintedRoll = 15, AgreedShippingRate = 50 }; controller.Create(store.Id, newContract); Assert.IsNotEmpty(store.Contracts.ToList(), "The stores contract list is empty"); }