/// <summary> /// Get the DTOExample from DB. /// </summary> /// <param name="example">DTOExample to get from db</param> /// <returns>A DTOExample </returns> public DTOExample getDTOExample(DTOExample example) { using (dbContext) { return(exampleRepository.getDTOExample(dbContext, example)); } }
private Example getEntityFromDTOExample(DTOExample example) { Example entity = new Example { FIELD1 = example.FirstField, FIELD2 = example.SecondField, FIELD3 = example.ThirdField }; return(entity); }
/// <summary> /// Check if a DTOExample exist. /// </summary> /// <param name="context">Context of the database</param> /// <param name="example">This will be checked if it exists.</param> /// <returns>True if "example" exist en DB. Otherwise false.</returns> private bool DTOExampleExist(IDbContext context, DTOExample example) { // Get record. DTOExample record = exampleRepository.getDTOExample(context, example); // Add error if record does not exist. if (record != null) { ControllerUI.ModelStateService.AddModelError(" ", "Record exist"); } // True if record exist, otherwise false. return(record != null); }
public void Users_insert_value_and_make_Redirect() { Stopwatch timer = new Stopwatch(); var dtoExample = new DTOExample { FirstField = new Random().Next(1, 500).ToString(), SecondField = new Random().Next(1, 500), ThirdField = DateTime.Parse("2016-10-22 11:21:10.323") }; DTOExample recordInDb = null; try { // Arrange var exampleService = Container.createIExampleService(); var homeController = new HomeController(Container.createIExampleService()); // Acts var actionResult = homeController.Users(dtoExample) as RedirectToRouteResult; // Redirect timer.Start(); recordInDb = exampleService.getDTOExample(dtoExample); // Get inserted record from db timer.Stop(); // Assert Assert.AreEqual("Users", actionResult.RouteValues["action"], "No se redirecciona a Users"); Assert.IsTrue ( recordInDb.FirstField == dtoExample.FirstField && recordInDb.SecondField == dtoExample.SecondField && recordInDb.ThirdField == dtoExample.ThirdField, "No se encuentra en DB el valor insertado" ); Assert.IsTrue(timer.ElapsedMilliseconds < 1000, "Query is to slow."); } finally { // Remove record just created using (var context = Container.createIDbContext()) { var example = context.Examples.Where(x => x.ID == recordInDb.Identificator).FirstOrDefault(); context.Examples.Remove(example); context.SaveChanges(); } } }
public DTOExample getDTOExample(IDbContext context, DTOExample example) { return(context.Examples.AsNoTracking() .Where ( x => x.FIELD1 == example.FirstField && x.FIELD2 == example.SecondField && x.FIELD3 == example.ThirdField ) .Select(x => new DTOExample { FirstField = x.FIELD1, SecondField = x.FIELD2, ThirdField = x.FIELD3, Identificator = x.ID }).FirstOrDefault()); }
/// <summary> /// Insert a DTOExample. /// </summary> /// <param name="example">DTOExample to insert.</param> public void insertarExample(DTOExample example) { using (dbContext) { // Exist method if record exist. if (DTOExampleExist(dbContext, example)) { return; } // Insert. exampleRepository.insertarExample(dbContext, example); // Save changes. dbContext.SaveChanges(); } }
public ActionResult Users(DTOExample model) { exampleService.insertarExample(model); return(RedirectToAction("Users")); }
public void insertarExample(IDbContext context, DTOExample example) { Example entity = getEntityFromDTOExample(example); context.Examples.Add(entity); }