Пример #1
0
 public IHttpActionResult DeleteEmployeeGun(int id)
 {
     try
     {
         UnitOfWork  unitOfWork = new UnitOfWork(factory);
         EmployeeGun gun        = unitOfWork.EmployeeGunsRepository.GetByID(id);
         gun.Deleted = true;
         unitOfWork.EmployeeGunsRepository.Update(gun);
         unitOfWork.Save();
         EmployeeGunDTO dto = gun.ToDTO();
         return(Ok(dto));
     }
     catch (NotFoundException nfe)
     {
         return(NotFound());
     }
     catch (ConflictException ce)
     {
         return(Conflict());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Пример #2
0
 public IHttpActionResult PostEmployeeGun(EmployeeGunDTO employeeGun)
 {
     if (employeeGun == null || !ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     try
     {
         EmployeeGun gun        = employeeGun.FromDTO();
         UnitOfWork  unitOfWork = new UnitOfWork(factory);
         gun.Id = gun.NewId(unitOfWork);
         unitOfWork.EmployeeGunsRepository.Insert(gun);
         unitOfWork.Save();
         EmployeeGunDTO dto = gun.ToDTO();
         return(CreatedAtRoute("GetEmployeeGun", new { id = dto.Id }, dto));
     }
     catch (NotFoundException nfe)
     {
         return(NotFound());
     }
     catch (ConflictException ce)
     {
         return(Conflict());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Пример #3
0
 public IHttpActionResult PutEmployeeGun(int id, EmployeeGunDTO employeeGun)
 {
     if (employeeGun == null || !ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     if (id != employeeGun.Id)
     {
         return(BadRequest());
     }
     try
     {
         EmployeeGun gun        = employeeGun.FromDTO();
         UnitOfWork  unitOfWork = new UnitOfWork(factory);
         unitOfWork.EmployeeGunsRepository.Update(gun);
         unitOfWork.Save();
         EmployeeGunDTO dto = gun.ToDTO();
         return(Ok(dto));
     }
     catch (NotFoundException nfe)
     {
         return(NotFound());
     }
     catch (ConflictException ce)
     {
         return(Conflict());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Пример #4
0
        public void PostGun_ShoulAddGun()
        {
            var gunsTestData = new List <EmployeeGun>()
            {
                new EmployeeGun {
                    Id = 1, EmployeeId = 2
                },
                new EmployeeGun {
                    Id = 2, Deleted = true, EmployeeId = 2
                },
                new EmployeeGun {
                    Id = 3, EmployeeId = 3
                }
            };
            var guns = MockHelper.MockDbSet(gunsTestData);

            guns.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(guns.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); });
            guns.Setup(d => d.Add(It.IsAny <EmployeeGun>())).Returns <EmployeeGun>((contact) =>
            {
                gunsTestData.Add(contact);
                guns = MockHelper.MockDbSet(gunsTestData);
                return(contact);
            });

            var dbContext = new Mock <IAppDbContext>();

            dbContext.Setup(m => m.EmployeeGuns).Returns(guns.Object);
            dbContext.Setup(d => d.Set <EmployeeGun>()).Returns(guns.Object);

            dbContext.Setup(d => d.ExecuteStoredProcedure <int>(It.IsAny <string>(), It.IsAny <object[]>()))
            .Returns <string, object[]>((query, parameters) =>
            {
                List <int> list = new List <int>();
                if (query.Contains("NewTableId"))
                {
                    int i = guns.Object.Max(d => d.Id) + 1;
                    list.Add(i);
                }
                else
                {
                    list.Add(0);
                }
                return(list);
            });

            var factory = new Mock <IDbContextFactory>();

            factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object);

            EmployeeGun license = new EmployeeGun {
                Id = 0, EmployeeId = 3, IssuedBy = "Wow"
            };
            var controller = new EmployeeGunsController(factory.Object);
            var result     = controller.PostEmployeeGun(license.ToDTO()) as CreatedAtRouteNegotiatedContentResult <EmployeeGunDTO>;

            Assert.IsNotNull(result);
            Assert.AreEqual(4, result.Content.Id);
            Assert.AreEqual(3, result.Content.EmployeeId);
            Assert.AreEqual("Wow", result.Content.IssuedBy);
        }
Пример #5
0
        public void DeleteGun_ShouldDeleteAndReturnOk()
        {
            var gunsTestData = new List <EmployeeGun>()
            {
                new EmployeeGun {
                    Id = 1, EmployeeId = 2
                },
                new EmployeeGun {
                    Id = 2, Deleted = true, EmployeeId = 2
                },
                new EmployeeGun {
                    Id = 3, EmployeeId = 3
                }
            };
            var guns = MockHelper.MockDbSet(gunsTestData);

            guns.Setup(d => d.Find(It.IsAny <object>())).Returns <object[]>((keyValues) => { return(guns.Object.SingleOrDefault(product => product.Id == (int)keyValues.Single())); });

            var dbContext = new Mock <IAppDbContext>();

            dbContext.Setup(m => m.EmployeeGuns).Returns(guns.Object);
            dbContext.Setup(d => d.Set <EmployeeGun>()).Returns(guns.Object);


            var factory = new Mock <IDbContextFactory>();

            factory.Setup(m => m.CreateDbContext()).Returns(dbContext.Object);

            EmployeeGun license = new EmployeeGun {
                Id = 3, EmployeeId = 3, IssuedBy = "Wow"
            };
            var controller = new EmployeeGunsController(factory.Object);
            var result     = controller.DeleteEmployeeGun(3) as OkNegotiatedContentResult <EmployeeGunDTO>;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Content.Id);
            Assert.AreEqual(3, result.Content.EmployeeId);
        }