Esempio n. 1
0
        public async Task <Result> UpdateSubModuleField(UpdateFieldDTO dto)
        {
            var result = new Result();

            try
            {
                var subModuleField = await _repo.GetFirstAsync <SubModuleField>(
                    filter : f => f.FieldId == Convert.ToInt32(dto.Id));

                //todo: hard coded, rework
                subModuleField.SubModuleId = Convert.ToInt32(dto.LifeCycle) + 1;
                //todo: validation

                _repo.Update(subModuleField);
                await _repo.SaveAsync();

                result.Message = "Field has been successfully updated.";
                result.Success = true;
            }
            catch (Exception e)
            {
                result.Message   = "Error adding field.";
                result.ErrorCode = ErrorCode.EXCEPTION;
                _logger.LogError("Error calling UpdateField: {0}", e.Message);
            }

            return(result);
        }
Esempio n. 2
0
        public async Task <Result> UpdateLifeCycleField(UpdateFieldDTO dto)
        {
            var result = new Result();

            try
            {
                var field = _repo.GetById <Field>(Convert.ToInt32(dto.Id));
                if (field.Name != dto.Name)
                {
                    var validateResult = await _validationService.IsValidField(dto.Name, true, (int)dto.LifeCycle + 1);

                    if (!validateResult.IsValid)
                    {
                        result.Message   = validateResult.Message;
                        result.ErrorCode = ErrorCode.INVALID_INPUT;
                        return(result);
                    }
                }

                var submoduleFields = (await _repo.GetAsync <SubModuleField>(
                                           filter: f => f.SubModuleId == (int)dto.LifeCycle + 1,
                                           include: i => i.Include(ii => ii.Field)
                                           )).ToList();
                submoduleFields = submoduleFields.Where(w => w.FieldId != Convert.ToInt32(dto.Id)).ToList();
                if (submoduleFields.Where(w => w.Field.Name == dto.Name).Select(s => s.Field.Name).FirstOrDefault() == dto.Name)
                {
                    result.Message   = "The field name is not available.";
                    result.ErrorCode = ErrorCode.INVALID_INPUT;
                    return(result);
                }

                if (field == null)
                {
                    result.Message   = "Field does not exist.";
                    result.ErrorCode = ErrorCode.DATA_NOT_FOUND;
                    return(result);
                }

                field.Name           = dto.Name;
                field.Purpose        = dto.Purpose ?? "";
                field.Type           = dto.Type;
                field.IsRequired     = false;
                field.Classification = dto.Classification;

                _repo.Update(field);
                await _repo.SaveAsync();

                result.Message = "Field has been successfully updated.";
                result.Success = true;
            }
            catch (Exception e)
            {
                result.Message   = "Error adding field.";
                result.ErrorCode = ErrorCode.EXCEPTION;
                _logger.LogError("Error calling UpdateField: {0}", e.Message);
            }

            return(result);
        }
Esempio n. 3
0
        public async Task <Result> UpdateField(UpdateFieldDTO dto)
        {
            var result = new Result();

            try
            {
                var field = _repo.GetById <Field>(Convert.ToInt32(dto.Id));
                if (field.Name != dto.Name)
                {
                    var validateResult = await _validationService.IsValidField(dto.Name, false, 0);

                    if (!validateResult.IsValid)
                    {
                        result.Message   = validateResult.Message;
                        result.ErrorCode = ErrorCode.INVALID_INPUT;
                        return(result);
                    }
                }

                if (field == null)
                {
                    result.Message   = "Field does not exist.";
                    result.ErrorCode = ErrorCode.DATA_NOT_FOUND;
                    return(result);
                }

                field.Name           = dto.Name;
                field.Purpose        = dto.Purpose ?? "";
                field.Type           = FieldType.TextField;
                field.IsRequired     = false;
                field.Classification = dto.Classification;

                _repo.Update(field);
                await _repo.SaveAsync();

                result.Message = "Field has been successfully updated.";
                result.Success = true;
            }
            catch (Exception e)
            {
                result.Message   = "Error adding field.";
                result.ErrorCode = ErrorCode.EXCEPTION;
                _logger.LogError("Error calling UpdateField: {0}", e.Message);
            }

            return(result);
        }