public void CreateMalfunction_ModelIsValid_ReturnCreated() { var malfunctionDto = new MalfunctionDto { IsRepaired = true }; var malfunction = Mapper.Map <MalfunctionDto, Malfunction>(malfunctionDto); unitOfWork.Setup(uow => uow.Malfunctions.Add(malfunction)); unitOfWork.Setup(uow => uow.Complete()); var result = controller.CreateMalfunction(malfunctionDto); Assert.That(result, Is.InstanceOf(typeof(CreatedNegotiatedContentResult <MalfunctionDto>))); }
public IHttpActionResult CreateMalfunction(MalfunctionDto malfunctionDto) { if (!ModelState.IsValid) { return(BadRequest()); } if (!malfunctionDto.IsRepaired) { var equipmentInDb = unitOfWork.Equipment.Get(malfunctionDto.EquipmentId); equipmentInDb.IsOperational = false; } var malfunction = Mapper.Map <MalfunctionDto, Malfunction>(malfunctionDto); unitOfWork.Malfunctions.Add(malfunction); unitOfWork.Complete(); malfunctionDto.Id = malfunction.Id; return(Created(new Uri(Request.RequestUri + "/" + malfunction.Id), malfunctionDto)); }
public IHttpActionResult UpdateMalfunction(int id, MalfunctionDto malfunctionDto) { if (!ModelState.IsValid) { return(BadRequest()); } var malfunctionInDb = unitOfWork.Malfunctions.SingleOrDefault(m => m.Id == id); if (malfunctionInDb == null) { return(NotFound()); } Mapper.Map(malfunctionDto, malfunctionInDb); var equipmentWhoseMalfunctionIsBeingEdited = unitOfWork.Equipment .SingleOrDefault(e => e.Id == malfunctionInDb.EquipmentId); var unrepairedMalfunctionsOfTheEquipment = unitOfWork.Malfunctions .Find(m => m.EquipmentId == malfunctionInDb.EquipmentId && m.Id != malfunctionInDb.Id && !m.IsRepaired); if (unrepairedMalfunctionsOfTheEquipment.Count() > 0 || !malfunctionDto.IsRepaired) { equipmentWhoseMalfunctionIsBeingEdited.IsOperational = false; } else { equipmentWhoseMalfunctionIsBeingEdited.IsOperational = true; } unitOfWork.Complete(); return(Ok()); }