// GET: WorkTypes
        public ActionResult Index()
        {
            WorkTypeRepository repo      = new WorkTypeRepository(context);
            List <WorkType>    workTypes = repo.GetWorkTypes();

            return(View(workTypes));
        }
Exemple #2
0
        public ActionResult Index()
        {
            var repo      = new WorkTypeRepository(_context);
            var workTypes = repo.GetWorkTypes();

            return(View(workTypes));
        }
        public async Task Work_Type_Repository_Should_Remove_Work_Type_Async()
        {
            // Arrange
            var context        = TestSetUpHelper.CreateDbContext();
            var repository     = new WorkTypeRepository(context);
            var expectedEntity = new WorkType()
            {
                Id            = 40,
                Name          = "TestName",
                EstimatedTime = 1,
                EstimatedCost = 100
            };

            await repository.AddAsync(expectedEntity);

            await context.SaveChangesAsync();

            // Act
            await repository.RemoveAsync(expectedEntity.Id);

            await context.SaveChangesAsync();

            var actualEntity = await repository.GetByIdAsync(expectedEntity.Id);

            // Assert
            Assert.Null(actualEntity);
        }
        public ActionResult Edit(int?id)
        {
            // Kick them out if they don't offer an ID.
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            WorkDoneRepository workDoneRepo = new WorkDoneRepository();
            WorkDone           workDone     = workDoneRepo.GetById(id.Value);

            // Kick them out if the try a non-existant ID.
            if (workDone == null)
            {
                return(RedirectToAction("Index"));
            }

            // Populate DropDownLists
            ClientRepository   clientRepo   = new ClientRepository();
            List <Client>      clients      = clientRepo.GetClients();
            WorkTypeRepository workTypeRepo = new WorkTypeRepository();
            List <WorkType>    workTypes    = workTypeRepo.GetWorkTypes();

            // Bind the View Model
            EditWorkDone model = new EditWorkDone(clients, workTypes);

            model.Id         = id.Value;
            model.ClientId   = workDone.ClientId;
            model.WorkTypeId = workDone.WorkTypeId;
            model.StartedOn  = workDone.StartedOn;
            model.EndedOn    = workDone.EndedOn;

            return(View("Edit", model));
        }
Exemple #5
0
        public ActionResult Create(CreateWorkDone model)
        {
            try
            {
                // Get the client and work type based on values submitted from
                // the form
                Client   client   = new ClientRepository(context).GetById(model.ClientId);
                WorkType workType = new WorkTypeRepository(context).GetById(model.WorkTypeId);

                // Create an instance of the work done with the client and work
                // type
                WorkDone workDone = new WorkDone(client, workType);  /////////
                new WorkDoneRepository(context).Insert(workDone);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
            }

            // Create a view model
            CreateWorkDoneView viewModel = new CreateWorkDoneView();

            // Copy over the values from the values submitted
            viewModel.ClientId   = model.ClientId;
            viewModel.StartedOn  = model.StartedOn;
            viewModel.WorkTypeId = model.WorkTypeId;

            // Go get the value for the drop-downs, again.
            viewModel.Clients   = new ClientRepository(context).GetClients();
            viewModel.WorkTypes = new WorkTypeRepository(context).GetWorkTypes();
            return(View("Create", viewModel));
        }
Exemple #6
0
 public LogicSystem()
 {
     _daySummaryRepository  = new RepositoryFactory().GetDaySummaryRepository();
     _employeeRepository    = new RepositoryFactory().GetEmployeeRepository();
     _personRepository      = new RepositoryFactory().GetPersonRepository();
     _workTypeRepository    = new RepositoryFactory().GetWorkTypeRepository();
     _dailyRecordRepository = new RepositoryFactory().GetDailyRecordRepository();
     _permissionRepository  = new RepositoryFactory().GetPermissionRepository();
 }
        public ActionResult Delete(int id, DeleteWorkType workType)
        {
            WorkTypeRepository repo = new WorkTypeRepository();

            WorkType newWorkType = new WorkType(id, workType.Name, 0);

            repo.Delete(newWorkType);

            return(RedirectToAction("Index"));
        }
Exemple #8
0
        public void Read_NotThrowsException_StateIsValid()
        {
            var workTypeKey = new WorkTypeTableEntity
            {
                WorkTypeId = Guid.Parse("00000000-4001-0000-0000-000000000000"),
            };
            var workTypeRepository = new WorkTypeRepository(TestEnvironment.DBSettings);
            var workType           = workTypeRepository.Read(workTypeKey);

            Assert.IsNotNull(workType);
        }
Exemple #9
0
        public void Update_NotThrowsException_StateIsValid()
        {
            var workTypeKey = new WorkTypeTableEntity
            {
                WorkTypeId = Guid.Parse("00000000-4001-0000-0000-000000000000"),
            };
            var workTypeRepository = new WorkTypeRepository(TestEnvironment.DBSettings);
            var workType           = workTypeRepository.Read(workTypeKey);

            workType.UpdateTime = DateUtil.Now;
            Assert.IsTrue(workTypeRepository.Update(workType));
        }
Exemple #10
0
        public ActionResult Edit(int id)
        {
            var repo      = new WorkTypeRepository(_context);
            var workType  = repo.GetById(id);
            var formModel = new EditWorkType
            {
                Id   = workType.Id,
                Name = workType.Name,
                Rate = workType.Rate
            };

            return(View(formModel));
        }
        public ActionResult Create()
        {
            // Populate DropDownLists
            ClientRepository   clientRepo   = new ClientRepository();
            List <Client>      clients      = clientRepo.GetClients();
            WorkTypeRepository workTypeRepo = new WorkTypeRepository();
            List <WorkType>    workTypes    = workTypeRepo.GetWorkTypes();

            // Bind model
            CreateWorkDone workDone = new CreateWorkDone(clients, workTypes);

            return(View("Create", workDone));
        }
Exemple #12
0
        public ActionResult Create()
        {
            var clientRepo    = new ClientRepository(_context);
            var clientItems   = clientRepo.GetSelectListItems();
            var workTypeRepo  = new WorkTypeRepository(_context);
            var workTypeItems = workTypeRepo.GetSelectListItems();
            var formModel     = new CreateWorkDone
            {
                ClientItems   = clientItems,
                WorkTypeItems = workTypeItems
            };

            return(View(formModel));
        }
        public ActionResult Create(CreateWorkType workType)
        {
            WorkTypeRepository repo = new WorkTypeRepository(context);

            try
            {
                WorkType newWorkType = new WorkType(0, workType.Name, workType.Rate);
                repo.Insert(newWorkType);
                return(RedirectToAction("Index"));
            }
            catch (DbUpdateException ex)
            {
                HandleDbUpdateException(ex);
            }
            return(View("Create", workType));
        }
Exemple #14
0
        public ActionResult Edit(EditWorkDone model)
        {
            if (ModelState.IsValidField("StartedOn") && ModelState.IsValidField("EndedOn"))
            {
                if (model.StartedOn > model.EndedOn)
                {
                    ModelState.AddModelError("", "Start date must be before end date");
                }
                else
                {
                    try
                    {
                        // Get the client and work type based on values submitted from
                        // the form
                        Client   client   = new ClientRepository(context).GetById(model.ClientId);
                        WorkType workType = new WorkTypeRepository(context).GetById(model.WorkTypeId);

                        // Create an instance of the work done with the client and work
                        // type
                        WorkDone workDone = new WorkDone(model.Id, client, workType, model.StartedOn, model.EndedOn);
                        new WorkDoneRepository(context).Update(workDone);
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    { }
                }
            }
            else
            {
                ModelState.AddModelError("", "Invalid date values");
            }

            // Create a view model
            EditWorkDoneView viewModel = new EditWorkDoneView();

            // Copy over the values from the values submitted
            viewModel.ClientId   = model.ClientId;
            viewModel.StartedOn  = model.StartedOn;
            viewModel.EndedOn    = model.EndedOn;
            viewModel.WorkTypeId = model.WorkTypeId;

            // Go get the value for the drop-downs, again.
            viewModel.Clients   = new ClientRepository(context).GetClients();
            viewModel.WorkTypes = new WorkTypeRepository(context).GetWorkTypes();
            return(View("Edit", viewModel));
        }
Exemple #15
0
        public void Create_NotThrowsException_StateIsValid()
        {
            var now      = DateUtil.Now;
            var workType = new WorkTypeTableEntity
            {
                WorkTypeId   = Guid.NewGuid(),
                WorkTypeCode = new string('X', 20),
                WorkTypeTree = new string('0', 8),
                Name         = new string('X', 256),
                Description  = new string('X', 1024),
                SortNo       = int.MaxValue,
                Status       = WorkTypeStatus.NORMAL.ToString(),
                CreateTime   = DateTimeOffset.MaxValue,
                UpdateTime   = DateTimeOffset.MaxValue,
            };
            var workTypeRepository = new WorkTypeRepository(TestEnvironment.DBSettings);

            workTypeRepository.Create(workType);
        }
Exemple #16
0
        public ActionResult Edit(int id, EditWorkType formModel)
        {
            var repo = new WorkTypeRepository(_context);

            try
            {
                var newWorkType = new WorkType(id, formModel.Name, formModel.Rate);
                repo.Update(newWorkType);
                return(RedirectToAction("Index"));
            }
            catch (SqlException se)
            {
                if (se.Number == 2627)
                {
                    ModelState.AddModelError("Name", "That name is already taken.");
                }
            }
            return(View(formModel));
        }
        public ActionResult Edit(int?id, EditWorkType editWorkType)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction("Index"));
            }
            WorkTypeRepository repo = new WorkTypeRepository(context);

            try
            {
                WorkType workType = new WorkType(editWorkType.Id, editWorkType.Name, editWorkType.Rate);
                repo.Update(workType);
                return(RedirectToAction("Index"));
            }
            catch
            {
            }
            return(View(editWorkType));
        }
        public ActionResult Edit(int id, EditWorkType workType)
        {
            WorkTypeRepository repo = new WorkTypeRepository();

            try
            {
                WorkType newWorkType = new WorkType(id, workType.Name, workType.Rate);
                repo.Update(newWorkType);
                return(RedirectToAction("Index"));
            }
            catch (SqlException se)
            {
                if (se.Number == 2627)
                {
                    ModelState.AddModelError("Name", "That name is already taken.");
                }
            }
            return(View("Edit", workType));
        }
        public ActionResult Edit(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction("Index"));
            }
            WorkTypeRepository repo     = new WorkTypeRepository(context);
            WorkType           workType = repo.GetById((int)id);

            if (workType == null)
            {
                return(RedirectToAction("Index"));
            }
            EditWorkType editWorkType = new EditWorkType();

            editWorkType.Id   = workType.Id;
            editWorkType.Name = workType.Name;
            editWorkType.Rate = workType.Rate;
            return(View(editWorkType));
        }
Exemple #20
0
        public ActionResult Edit(int id)
        {
            var repo          = new WorkDoneRepository(_context);
            var workDone      = repo.GetById(id);
            var clientRepo    = new ClientRepository(_context);
            var clientItems   = clientRepo.GetSelectListItems();
            var workTypeRepo  = new WorkTypeRepository(_context);
            var workTypeItems = clientRepo.GetSelectListItems();
            var formModel     = new EditWorkDone()
            {
                Id            = id,
                ClientId      = workDone.ClientId,
                WorkTypeId    = workDone.WorkTypeId,
                StartedOn     = workDone.StartedOn,
                EndedOn       = workDone.EndedOn,
                ClientItems   = clientItems,
                WorkTypeItems = workTypeItems
            };

            return(View(formModel));
        }
        public ActionResult Create(CreateWorkDone workDone)
        {
            WorkDoneRepository workDoneRepo = new WorkDoneRepository();

            // Get DropDownList values
            ClientRepository   clientRepo   = new ClientRepository();
            Client             client       = clientRepo.GetById(workDone.ClientId);
            WorkTypeRepository workTypeRepo = new WorkTypeRepository();
            WorkType           workType     = workTypeRepo.GetById(workDone.WorkTypeId);

            WorkDone newWorkDone = new WorkDone(0, client, workType, DateTimeOffset.Now);

            // If it's good, submit and go back to Index.
            if (ModelState.IsValid)
            {
                workDoneRepo.Insert(newWorkDone);
                return(RedirectToAction("Index"));
            }

            // If it's not good, repost the page with errors.
            return(View("Create", workDone));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            WorkTypeRepository repo     = new WorkTypeRepository();
            WorkType           workType = repo.GetById(id.Value);

            if (workType == null)
            {
                return(RedirectToAction("Index"));
            }

            DeleteWorkType model = new DeleteWorkType();

            model.Id   = workType.Id;
            model.Name = workType.Name;

            return(View("Delete", model));
        }
        public async Task Work_Type_Repository_Should_Get_All_Async()
        {
            // Arrange
            var context        = TestSetUpHelper.CreateDbContext();
            var repository     = new WorkTypeRepository(context);
            var expectedEntity = new WorkType()
            {
                Id            = 40,
                Name          = "TestName",
                EstimatedTime = 1,
                EstimatedCost = 100
            };

            await repository.AddAsync(expectedEntity);

            await context.SaveChangesAsync();

            // Act
            var entities = await repository.GetAllAsync();

            // Assert
            Assert.Single(entities.ToList());
        }
        public async Task Work_Type_Repository_Should_Update_Work_Type()
        {
            // Arrange
            var context    = TestSetUpHelper.CreateDbContext();
            var repository = new WorkTypeRepository(context);
            var oldUnit    = new WorkType()
            {
                Id            = 40,
                Name          = "TestName",
                EstimatedTime = 1,
                EstimatedCost = 100
            };

            var newUnit = new WorkType()
            {
                Id            = 40,
                Name          = "TestName",
                EstimatedTime = 1.5,
                EstimatedCost = 150
            };

            await repository.AddAsync(oldUnit);

            await context.SaveChangesAsync();

            // Act
            oldUnit.Name          = newUnit.Name;
            oldUnit.EstimatedCost = newUnit.EstimatedCost;
            oldUnit.EstimatedTime = newUnit.EstimatedTime;
            repository.Update(oldUnit);
            await context.SaveChangesAsync();

            // Assert
            Assert.Equal(newUnit.Name, oldUnit.Name);
            Assert.Equal(newUnit.EstimatedCost, oldUnit.EstimatedCost);
            Assert.Equal(newUnit.EstimatedTime, oldUnit.EstimatedTime);
        }
        public ActionResult Edit(int id, EditWorkDone workDone)
        {
            WorkDoneRepository workDoneRepo = new WorkDoneRepository();

            // Populate DropDowns
            ClientRepository   clientRepo   = new ClientRepository();
            Client             client       = clientRepo.GetById(workDone.ClientId);
            WorkTypeRepository workTypeRepo = new WorkTypeRepository();
            WorkType           workType     = workTypeRepo.GetById(workDone.WorkTypeId);

            // Repopulate DropDown Lists
            ClientRepository   clientsRepo   = new ClientRepository();
            List <Client>      clients       = clientsRepo.GetClients();
            WorkTypeRepository workTypesRepo = new WorkTypeRepository();
            List <WorkType>    workTypes     = workTypesRepo.GetWorkTypes();

            WorkDone newWorkDone = new WorkDone(id, client, workType, workDone.StartedOn, workDone.EndedOn);

            // Populate View Model
            EditWorkDone editWorkDone = new EditWorkDone(clients, workTypes);

            editWorkDone.ClientId   = workDone.ClientId;
            editWorkDone.WorkTypeId = workDone.WorkTypeId;
            editWorkDone.StartedOn  = workDone.StartedOn;
            editWorkDone.EndedOn    = workDone.EndedOn;

            // If it's good, submit and go back.
            if (ModelState.IsValid)
            {
                workDoneRepo.Update(newWorkDone);
                return(RedirectToAction("Index"));
            }

            // If it's not, show page again.
            return(View("Edit", editWorkDone));
        }
Exemple #26
0
        public IEnumerable <WorkType> GetWorkTypes()
        {
            IWorkTypeRepository workTypeRepository = new WorkTypeRepository(DbContextSelector.getInstance().getDbFactory(DbContextSelector.DbName.Workflow));

            return(workTypeRepository.GetAll().OrderBy(p => p.Sequence).ToList());
        }
Exemple #27
0
 public WorkTypeController()
 {
     workTypeRepository = new WorkTypeRepository(Settings.GetStringDB());
 }