コード例 #1
0
        public Task <DepartementDetailVM> Handle(GetDepartementByIdQuery query, CancellationToken cancellationToken)
        {
            var departement = _repository.GetById(query.Id);

            if (departement == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "Data not found"));
            }
            else
            {
                return(Task.Run(() => new DepartementDetailVM
                {
                    Id = departement.Id,
                    Name = departement.Name,
                    Location = departement.Location,
                    Employees = departement.Employees.Select(y => new EmployeeVM
                    {
                        Id = y.Id,
                        FirstName = y.FirstName,
                        LastName = y.LastName,
                        JoinDate = y.JoinDate
                    }).ToList()
                }));
            }
        }
コード例 #2
0
        public IActionResult Index(Analyse analyse)
        {
            try
            {
                if (analyse.Departement == null)
                {
                    TempData["error"] = "U hebt nog geen werkgever geselecteerd, gelieve deze eerst te selecteren";
                    return(RedirectToAction("Index", "Werkgever"));
                }

                ViewData["analyseId"] = analyse.AnalyseId;

                int id = analyse.Departement.Werkgever.WerkgeverId;
                ViewData["WerkgeverId"] = id;

                Werkgever werkgever = _werkgeverRepository.GetById(id);

                analyse.Departement = _departementRepository.GetById(analyse.Departement.DepartementId);

                if (analyse.Departement?.ContactPersoon != null)
                {
                    ContactPersoonViewModel model = new ContactPersoonViewModel(analyse.Departement?.ContactPersoon,
                                                                                analyse.Departement.Werkgever.WerkgeverId);
                    return(View("Index", model));
                }
                else
                {
                    TempData["error"] = "Er is nog geen contactpersoon, voeg hier eventueel een contactpersoon toe";
                    return(RedirectToAction("VoegContactPersoonToe", new { id = werkgever.WerkgeverId }));
                }
            }
            catch (Exception e)
            {
                _exceptionLogRepository.Add(new ExceptionLog(e, "ContactPersoon", "Index"));
                _exceptionLogRepository.Save();
                TempData["error"] = "Er ging onverwachts iets mis, probeer later opnieuw";
                return(RedirectToAction("Index", "Werkgever"));
            }
        }
コード例 #3
0
        public Task<SuccessResponse> Handle(DeleteDepartementCommand command, CancellationToken cancellationToken)
        {
            var result = new SuccessResponse();

            var departement = _departementRepository.GetById(command.Id);

            if (departement == null)
                result.Reason = $"Departement with ID'{command.Id}' not found.";
            else
            {
                foreach (var employee in departement.Employees)
                    _employeeRepository.Delete(employee);

                _departementRepository.Delete(departement);

                result.Success = true;
            }

            return Task.Run(() => result);
        }
コード例 #4
0
 public Departement GetById(int Id)
 {
     return(_departementRepository.GetById(Id));
 }
コード例 #5
0
        public IActionResult Opslaan(Analyse analyse, WerkgeverViewModel model)
        {
            try
            {
                Departement      departement = _departementRepository.GetById(model.DepartementId);
                Werkgever        werkgever   = departement.Werkgever;
                DecimalConverter dc          = new DecimalConverter();
                analyse = _analyseRepository.GetByIdAll(analyse.AnalyseId);
                // werkgever instellen
                Werkgever nieuweWerkgever = new Werkgever(model.Naam, model.Straat, model.Nummer ?? 0, model.Bus,
                                                          model.Postcode, model.Gemeente, dc.ConvertToDecimal(model.AantalWerkuren), dc.ConvertToDecimal(model.PatronaleBijdrage));

                // departement instellen
                if (departement != null && !string.Equals(model.Departement, departement.Naam))
                {
                    // de jobcoach heeft de departementsnaam gewijzigd,
                    // dus we maken een nieuw departement aan
                    departement = new Departement(model.Departement)
                    {
                        Werkgever = werkgever
                    };
                    werkgever.Departementen.Add(departement);
                }

                if (werkgever != null && !nieuweWerkgever.Equals(werkgever))
                {
                    werkgever.Departementen.Remove(departement);
                    departement = new Departement(model.Departement)
                    {
                        Werkgever = nieuweWerkgever
                    };
                    nieuweWerkgever.Departementen.Add(departement);
                }
                else
                {
                    departement.Werkgever = werkgever;
                }

                // instellen in de analyse
                analyse.Departement = departement;

                // alles opslaan
                _departementRepository.Save();
                _analyseRepository.Save();

                TempData["message"] = "De werkgever is succesvol opgeslaan";

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                if (e is ArgumentException || e is FormatException)
                {
                    TempData["error"] = e.Message;
                }
                else
                {
                    _exceptionLogRepository.Add(new ExceptionLog(e, "Werkgever", "Opslaan "));
                    _exceptionLogRepository.Save();
                    TempData["error"] = "Er ging onverwachts iets fout, probeer later opnieuw";
                }
            }

            return(View("Index", model));
        }