コード例 #1
0
        // Validate
        public IResponseDTO ValidatePolicyInsurer(CreateUpdatePolicyInsurerDto options, int id = 0)
        {
            try
            {
                if (_appDbContext.PolicyInsurers.Any(x => x.Id != id && !x.IsDeleted && x.Name.ToLower().Trim() == options.Name.ToLower().Trim()))
                {
                    _response.Errors.Add($"Name '{options.Name}' is already exist, please try a new one.'");
                }
            }
            catch (Exception ex)
            {
                _response.IsPassed = false;
                _response.Data     = null;
                _response.Errors.Add($"Error: {ex.Message}");
            }

            if (_response.Errors.Count > 0)
            {
                _response.IsPassed = false;
                _response.Data     = null;
                return(_response);
            }

            _response.IsPassed = true;
            return(_response);
        }
コード例 #2
0
        public async Task <IResponseDTO> CreatePolicyInsurer(CreateUpdatePolicyInsurerDto options, int userId)
        {
            try
            {
                var policyInsurer = new Data.DbModels.LookupSchema.PolicyInsurer
                {
                    Name        = options.Name,
                    Description = options.Description,
                    IsActive    = true
                };

                await _appDbContext.PolicyInsurers.AddAsync(policyInsurer);

                // save to the database
                var save = await _appDbContext.SaveChangesAsync();

                if (save == 0)
                {
                    _response.IsPassed = false;
                    _response.Errors.Add("Database did not save the object");
                    return(_response);
                }

                _response.IsPassed = true;
                _response.Message  = "Policy insurer is created successfully";
            }
            catch (Exception ex)
            {
                _response.Data     = null;
                _response.IsPassed = false;
                _response.Errors.Add($"Error: {ex.Message}");
            }

            return(_response);
        }
コード例 #3
0
        public async Task <IResponseDTO> UpdatePolicyInsurer([FromRoute] int id, [FromBody] CreateUpdatePolicyInsurerDto options)
        {
            var validationResult = _policyInsurerService.ValidatePolicyInsurer(options, id);

            if (!validationResult.IsPassed)
            {
                return(validationResult);
            }

            _response = await _policyInsurerService.UpdatePolicyInsurer(id, options, LoggedInUserId);

            return(_response);
        }
コード例 #4
0
        public async Task <IResponseDTO> UpdatePolicyInsurer(int id, CreateUpdatePolicyInsurerDto options, int userId)
        {
            try
            {
                var policyInsurer = _appDbContext.PolicyInsurers.FirstOrDefault(x => x.Id == id);
                if (policyInsurer == null)
                {
                    _response.IsPassed = false;
                    _response.Message  = "Invalid id";
                    return(_response);
                }

                policyInsurer.Name        = options.Name;
                policyInsurer.Description = options.Description;

                _appDbContext.PolicyInsurers.Update(policyInsurer);

                // save to the database
                var save = await _appDbContext.SaveChangesAsync();

                if (save == 0)
                {
                    _response.IsPassed = false;
                    _response.Errors.Add("Database did not save the object");
                    return(_response);
                }

                _response.IsPassed = true;
                _response.Message  = "Policy insurer is updated successfully";
            }
            catch (Exception ex)
            {
                _response.Data     = null;
                _response.IsPassed = false;
                _response.Errors.Add($"Error: {ex.Message}");
            }

            return(_response);
        }