示例#1
0
        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());
        }