コード例 #1
0
ファイル: WorksDoneController.cs プロジェクト: jbvera/WOS
        public ActionResult Edit(int id, EditWorkDone formModel)
        {
            var client   = new Client(formModel.ClientId);
            var workType = new WorkType(formModel.WorkTypeId);
            var workDone = new WorkDone()
            {
                Id         = id,
                ClientId   = formModel.ClientId,
                WorkTypeId = formModel.WorkTypeId,
                StartedOn  = formModel.StartedOn,
                EndedOn    = formModel.EndedOn
            };

            try
            {
                var repo = new WorkDoneRepository(_context);
                repo.Update(workDone);
                return(RedirectToAction("Index"));
            }
            catch
            {
                ModelState.AddModelError("Edit", "Unable to update work done");
                return(View(formModel));
            }
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 private void Btn_Edit_Click(object sender, RoutedEventArgs e)
 {
     if (SelectedGrid != null)
     {
         EditWorkDone editWorkDone = new EditWorkDone();
         editWorkDone.Owner = mainWindow;
         editWorkDone.Work  = SelectedGrid.SelectedItem as DB.WorkDoneList;
         mainWindow.Opacity = 0.5;
         editWorkDone.WindowStartupLocation = WindowStartupLocation.CenterOwner;
         editWorkDone.ShowDialog();
     }
 }
コード例 #4
0
        public ActionResult Edit(int id)
        {
            var      wdRepository = new WorkDoneRepo(context);
            WorkDone workDone     = wdRepository.GetById(id);

            var model = new EditWorkDone();

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

            model.PopulateSelectLists(context);
            return(View("Edit", model));
        }
コード例 #5
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));
        }
コード例 #6
0
        public ActionResult Edit(int id, EditWorkDone formModel)
        {
            var cRepository  = new ClientRepo(context);
            var wRepository  = new WorkTypeRepo(context);
            var wdRepository = new WorkDoneRepo(context);

            try
            {
                Client   cToEdit  = cRepository.GetById(formModel.ClientId);
                WorkType wToEdit  = wRepository.GetById(formModel.WorkTypeId);
                var      workDone = new WorkDone(id, cToEdit, wToEdit, formModel.StartedOn, formModel.EndedOn);
                wdRepository.Update(workDone);
                return(RedirectToAction("Index"));
            }
            catch (DbUpdateException ex)
            {
                HandleDbUpdateException(ex);
            }

            return(View("Edit", formModel));
        }
コード例 #7
0
ファイル: WorksDoneController.cs プロジェクト: jbvera/WOS
        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));
        }
コード例 #8
0
        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));
        }