Пример #1
0
        public void UpdateViewModelTwiceShouldGenerateConcurrencyException()
        {
            int rowsUpdated = 0;
            EmployeeViewModel user1Vm = new EmployeeViewModel();
            EmployeeViewModel user2Vm = new EmployeeViewModel();

            // Simulate users getting same employee:
            user1Vm.Lastname = "Smartypants";
            user1Vm.GetBySurname();
            user2Vm.Lastname = "Smartypants";
            user2Vm.GetBySurname();

            // Change phone number for user 1:
            user1Vm.Phoneno = "555-555-5551";

            // User 1 updates:
            rowsUpdated = user1Vm.Update();

            if (rowsUpdated == 1)
            {
                // Change phone numeber for user 2:
                user2Vm.Phoneno = "555-555-5552";

                // Conncurrency exception rowsUpdated should = -2
                rowsUpdated = user2Vm.Update();
            }

            Assert.IsTrue(rowsUpdated == -2);
        }
Пример #2
0
 public IHttpActionResult Put(EmployeeViewModel emp)
 {
     try
     {
         int errorNumber = emp.Update();
         switch (errorNumber)
         {
             case 1:
                 return Ok("Employee " + emp.Lastname + " updated!");
                 break;
             case -1:
                 return Ok("Employee" + emp.Lastname + " not updated!");
                 break;
             case -2:
                 return Ok("Data is stale for " + emp.Lastname + ". Employee not updated!");
                 break;
             default:
                 return Ok("Employee" + emp.Lastname + " not updated!");
                 break;
         }
     } catch (Exception ex)
     {
         return BadRequest("Update failed - " + ex.Message);
     }
 }
Пример #3
0
 public IHttpActionResult Get()
 {
     try
     {
         EmployeeViewModel emp = new EmployeeViewModel();
         List<EmployeeViewModel> allEmployees = emp.GetAll();
         return Ok(allEmployees);
     }
     catch (Exception ex)
     {
         return BadRequest("Retrive failed - " + ex.Message);
     }
 }
Пример #4
0
 public IHttpActionResult Get(string id)
 {
     try
     {
         EmployeeViewModel emp = new EmployeeViewModel();
         emp.GetById(id);
         return Ok(emp);
     }
     catch (Exception ex)
     {
         return BadRequest("Retrive failed - " + ex.Message);
     }
 }
Пример #5
0
        public List<EmployeeViewModel> GetAll()
        {
            List<EmployeeViewModel> viewModels = new List<EmployeeViewModel>();

            try
            {
                List<Employee> employees = _dao.GetAll();

                foreach (Employee e in employees)
                {
                    // Return only fields for display, subdequent get will other fields
                    EmployeeViewModel viewModel = new EmployeeViewModel();
                    viewModel.Id = e._id.ToString();
                    viewModel.Title = e.Title;
                    viewModel.Firstname = e.Firstname;
                    viewModel.Lastname = e.Lastname;
                    viewModels.Add(viewModel); // Add to list
                }
            }
            catch (Exception ex)
            {
                ErrorRoutine(ex, "EmployeeViewModel", "GetAll");
            }
            return viewModels;
        }