public async Task <IActionResult> Create(SubAssemblyInputModel model) { if (!this.ModelState.IsValid) { this.ViewData[GlobalConstants.AssemblyId] = model.AssemblyId; return(this.View()); } await this.subAssemblyService.Create(model); var assembly = this.assemblyService.GetAssemblyById(model.AssemblyId); return(this.RedirectToAction("Details", "Robots", new{ id = assembly.RobotId })); }
public async Task <string> Create(SubAssemblyInputModel model) { var cloudinary = SetCloudinary(); var url = await UploadImage(cloudinary, model.Image, model.Name); var subAssembly = Mapper.Map <SubAssembly>(model); subAssembly.ImageUrl = url ?? GlobalConstants.NoImageAvailableUrl; this.Context.SubAssemblies.Add(subAssembly); await this.Context.SaveChangesAsync(); return(subAssembly.Id); }
public void CreateAssembly_Should_Succeed() { var robot = new Robot() { Id = "1", UserId = "111", Axes = 2, Name = "myRobot", SerialNumber = "2323" }; var assembly = new Assembly() { Id = "1", RobotId = robot.Id }; this.Context.Robots.Add(robot); this.Context.Assemblies.Add(assembly); this.Context.SaveChanges(); var subAssemblyInputModel = new SubAssemblyInputModel { AssemblyId = assembly.Id, Image = null, Name = "subassembly", Quantity = 3, Weight = 2.55 }; var result = this.subAssemblyService.Create(subAssemblyInputModel).GetAwaiter().GetResult(); var subassembly = this.Context.SubAssemblies.Find(result); result.Should().NotBeNull(); subassembly.Should().NotBeNull() .And.Subject.Should().BeEquivalentTo(new { Id = result, ImageUrl = GlobalConstants.NoImageAvailableUrl, Name = subAssemblyInputModel.Name }, options => options.ExcludingMissingMembers()); }