Esempio n. 1
0
        public async Task <string> Create(PartInputModel model)
        {
            var part = this.Mapper.Map <Part>(model);

            var vendor      = this.vendorService.GetVendorByName(model.VendorName);
            var subAssembly = this.subAssemblyService.GetById(model.SubAssemblyId);

            part.VendorId = vendor.Id;
            vendor.Parts.Add(part);
            subAssembly.Parts.Add(part);

            this.Context.Parts.Add(part);
            this.Context.Vendors.Update(vendor);
            this.Context.SubAssemblies.Update(subAssembly);
            await this.Context.SaveChangesAsync();

            return(part.Id);
        }
Esempio n. 2
0
        public async Task <IActionResult> Create(PartInputModel model)
        {
            bool checkVendorIsValid = this.vendorService.CheckVendorIsValid(model.VendorName);

            if (!this.ModelState.IsValid || !checkVendorIsValid)
            {
                this.ViewData[GlobalConstants.SubAssemblyId] = model.SubAssemblyId;
                return(this.View());
            }

            var partId = await this.partService.Create(model);

            var part = this.partService.GetPartById(partId);

            var robotId = part.SubAssembly.Assembly.RobotId;

            return(this.RedirectToAction("Details", "Robots", new { id = robotId }));
        }
Esempio n. 3
0
        public void CreatePart_Should_Succeed()
        {
            var subAssembly = new SubAssembly()
            {
                Id       = "1",
                Name     = "aasdasd",
                Quantity = 1,
                Weight   = 1
            };

            var vendor = new Vendor()
            {
                Id   = "1",
                Name = "vendor"
            };

            this.Context.SubAssemblies.Add(subAssembly);
            this.Context.Vendors.Add(vendor);
            this.Context.SaveChanges();

            var partInputModel = new PartInputModel
            {
                Name          = "part1",
                Price         = 2.50m,
                Quantity      = 2,
                SubAssemblyId = subAssembly.Id,
                VendorName    = vendor.Name
            };

            var result = this.partService.Create(partInputModel).GetAwaiter().GetResult();

            var part = this.Context.Parts.First();

            result.Should().NotBeNull();
            part.Should().NotBeNull()
            .And.Subject.Should().BeEquivalentTo(new
            {
                Id       = result,
                ImageUrl = GlobalConstants.NoImageAvailableUrl,
                Name     = partInputModel.Name
            }, options => options.ExcludingMissingMembers());
        }