예제 #1
0
        public async Task <IActionResult> Update(int conditionId, [FromBody] ConditionRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _conditionService.Update(conditionId, request);

            if (!result.IsSuccessed)
            {
                return(BadRequest(result.Message));
            }
            return(Ok());
        }
        public async Task <IActionResult> Post([FromBody] ConditionRequest model)
        {
            Condition newRecord = null;

            if (ModelState.IsValid)
            {
                InitUserCredentials();

                Scenario scenario = await _scenarioService.Get(model.ScenarioGuid);

                if (scenario == null)
                {
                    return(BadRequest());
                }

                if (scenario.CompanyGuid != CompanyGuid)
                {
                    return(Unauthorized());
                }


                newRecord = new Condition
                {
                    Guid             = Guid.NewGuid(),
                    UserGuid         = UserGuid,
                    CompanyGuid      = CompanyGuid,
                    CreationTime     = DateTime.UtcNow,
                    CreationUserGuid = UserGuid,
                    ScenarioId       = scenario.ScenarioId,
                    ScenarioGuid     = scenario.Guid
                };

                newRecord = _mapper.Map(model, newRecord);

                try
                {
                    await _conditionService.Save(newRecord);
                }
                catch (Exception e)
                {
                    Log.Error(e.StackTrace);
                    throw;
                }
            }

            return(CreatedAtAction(nameof(Post), _mapper.Map(newRecord, new ConditionResponse())));
        }
예제 #3
0
        public async Task <ApiResponse <string> > Create(ConditionRequest request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            var condition = new Condition()
            {
                Name        = request.Name,
                Description = request.Description
            };

            _db.Conditions.Add(condition);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.addSuccessfully));
        }
예제 #4
0
        public async Task <ApiResponse <string> > Update(int conditionId, ConditionRequest request)
        {
            var conditionFromDb = await _db.Conditions.FindAsync(conditionId);

            if (conditionFromDb == null)
            {
                return(new ApiErrorResponse <string>(ConstantStrings.getAllError));
            }
            if (string.IsNullOrEmpty(request.Name))
            {
                return(new ApiErrorResponse <string>(ConstantStrings.emptyNameFieldError));
            }
            conditionFromDb.Name        = request.Name;
            conditionFromDb.Description = request.Description;
            _db.Conditions.Update(conditionFromDb);
            await _db.SaveChangesAsync();

            return(new ApiSuccessResponse <string>(ConstantStrings.editSuccessfully));
        }
        public async Task <IActionResult> Put([FromBody] ConditionRequest model, Guid guid)
        {
            if (ModelState.IsValid)
            {
                if (guid == Guid.Empty)
                {
                    return(new BadRequestResult());
                }

                Condition record = await _conditionService.Get(guid);

                if (record == null)
                {
                    return(new NoContentResult());
                }

                InitUserCredentials();

                if (record.UserGuid != UserGuid)
                {
                    return(new UnauthorizedResult());
                }

                var mapped = _mapper.Map(model, record);
                mapped.LastUpdateTime     = DateTime.Now;
                mapped.LastUpdateUserGuid = UserGuid;

                try
                {
                    await _conditionService.Save(mapped);
                }
                catch (Exception e)
                {
                    Log.Error(e.StackTrace);
                    throw;
                }
            }

            return(new OkResult());
        }