/// <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();
            }
        }
Exemplo n.º 7
0
 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);
        }