public IHttpActionResult Put(DepartmentViewModel dep)
 {
     try
     {
         int errorNumber = dep.Update();
         switch (errorNumber)
         {
             case 1:
                 return Ok("Department " + dep.DepartmentName + " updated!");
                 break;
             case -1:
                 return Ok("Department" + dep.DepartmentName + " not updated!");
                 break;
             case -2:
                 return Ok("Data is stale for " + dep.DepartmentName + ". Department not updated!");
                 break;
             default:
                 return Ok("Department" + dep.DepartmentName + " not updated!");
                 break;
         }
     }
     catch (Exception ex)
     {
         return BadRequest("Update failed - " + ex.Message);
     }
 }
        public void DepartmentVMUpdateShouldReturnTrue()
        {
            DepartmentViewModel vm = new DepartmentViewModel();
            vm.GetById("56201963f748f2338c59a8c3"); // Sales id
            vm.DepartmentName = "SALES";
            int rowsUpdated = vm.Update();

            Assert.IsTrue(rowsUpdated == 1);
        }
        public void DepartmentVMUpdateTwiceShouldReturnNegative2()
        {
            DepartmentViewModel vm1 = new DepartmentViewModel();
            DepartmentViewModel vm2 = new DepartmentViewModel();

            vm1.GetById("56201963f748f2338c59a8c3"); // Sales Id
            vm2.GetById("56201963f748f2338c59a8c3");

            vm1.DepartmentName = "SALES";
            int rowsUpdated = vm1.Update();

            if (rowsUpdated == 1)
                rowsUpdated = vm2.Update();

            Assert.IsTrue(rowsUpdated == -2);
        }