Ejemplo n.º 1
0
        /// <summary>
        /// Edit dealer configurations
        /// </summary>
        /// <param name="objEditDealerConfiguration"></param>
        /// <param name="dealerId"></param>
        /// <returns></returns>
        public async Task EditDealerConfiguration(DealerConfigurationUpdateRequest objEditDealerConfiguration,
                                                  int dealerId)
        {
            if (objEditDealerConfiguration == null)
            {
                throw new ArgumentNullException(nameof(objEditDealerConfiguration));
            }
            if (!CheckCommunicationMethod(objEditDealerConfiguration.CommunicationMethodName))
            {
                throw new CommunicationMethodException();
            }
            if (!CheckCsvSource(objEditDealerConfiguration.CsvSourceName))
            {
                throw new CsvSourceException();
            }

            var existingDealer = GetDealerConfigurationById(dealerId);

            if (existingDealer == null)
            {
                throw new DealerNotExistException();
            }

            existingDealer = GetDealerConfigurationByRoofTopIdAndCommunityId(objEditDealerConfiguration.RooftopId,
                                                                             objEditDealerConfiguration.CommunityId);

            if (existingDealer != null && existingDealer.DealerId != dealerId)
            {
                throw new DealerAlreadyExistException();
            }

            var objDealerConfiguration = MapUpdateDealerConfiguration(objEditDealerConfiguration);

            await _dealerConfigurationDal.EditDealerConfiguration(objDealerConfiguration, dealerId);
        }
Ejemplo n.º 2
0
        internal DealerConfiguration MapUpdateDealerConfiguration(DealerConfigurationUpdateRequest request)
        {
            var objDealerConfiguration =
                _mapper.Map <DealerConfigurationUpdateRequest, DealerConfiguration>(request);

            objDealerConfiguration.CommunicationMethod = GetCommunicationMethod(request.CommunicationMethodName);
            objDealerConfiguration.CsvSource           = GetCsvSource(request.CsvSourceName);

            return(objDealerConfiguration);
        }