public void BizAction(PlaceDesciplineDto inputData)
        {
            var descipline = _dbAccess.GetDescipline(inputData.Descipline.Id);

            if (descipline == null)
            {
                throw new NullReferenceException("Could not find the descipline. Someone entering illegal ids?");
            }

            var status = descipline.UpdateDescipline(inputData.Descipline.Name, inputData.Descipline.Description);

            CombineErrors(status);

            Message = $"descipline is update: {descipline.ToString()}.";
        }
        public Descipline BizAction(PlaceDesciplineDto inputData)
        {
            if (string.IsNullOrWhiteSpace(inputData.Descipline.Name))
            {
                AddError("Descipline Name is Required.");
                return(null);
            }

            var desStatus = Descipline.CreateDesciplineFactory(
                inputData.Descipline.Name, inputData.Descipline.Description, inputData.Descipline.ProjectIds);

            CombineErrors(desStatus);

            if (!HasErrors)
            {
                _dbAccess.Add(desStatus.Result);
            }

            return(HasErrors ? null : desStatus.Result);
        }
        public IActionResult CreateDescipline(DesciplineDto model,
                                              [FromServices] IActionService <IPlaceDesciplineAction> service)
        {
            var dto        = new PlaceDesciplineDto(model);
            var descipline = service.RunBizAction <Descipline>(dto);

            if (!service.Status.HasErrors)
            {
                return(new ObjectResult(new ResultResponseDto <String, int>
                {
                    Key = HttpStatusCode.OK,
                    Value = "Descipline Created...",
                    Subject = descipline.Id
                }));
            }

            var errors = service.Status.CopyErrorsToString(ModelState);

            service.Status.CopyErrorsToString(ModelState);
            return(new ObjectResult(new ResultResponseDto <String, int> {
                Key = HttpStatusCode.BadRequest, Value = errors
            }));
        }
        public IActionResult UpdateDescipline(int id, [FromBody] DesciplineDto model,
                                              [FromServices] IActionService <IUpdateDesciplineAction> service)
        {
            model.Id = id;
            var dto = new PlaceDesciplineDto(model);

            service.RunBizAction(dto);

            if (!service.Status.HasErrors)
            {
                return(new ObjectResult(new ResultResponseDto <String, int>
                {
                    Key = HttpStatusCode.OK,
                    Value = "Descipline updated..",
                    Subject = model.Id
                }));
            }

            var errors = service.Status.CopyErrorsToString(ModelState);

            return(new ObjectResult(new ResultResponseDto <String, int> {
                Key = HttpStatusCode.BadRequest, Value = errors, Subject = model.Id
            }));
        }