private MasterBaseDTO DeserializeMasterDataDTO(MasterDataDTOSaveCollective ct, string jsonMasterDataDTO)
        {
            switch (ct)
            {

                case MasterDataDTOSaveCollective.Outlet:
                    OutletDTO outletDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out outletDTO);
                    return outletDTO;
                case MasterDataDTOSaveCollective.Contact:
                    ContactDTO contactDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out contactDTO);
                    return contactDTO;
                case MasterDataDTOSaveCollective.Asset:
                    AssetDTO assetDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out assetDTO);
                    return assetDTO;
                case MasterDataDTOSaveCollective.DistributrFile:
                    DistributrFileDTO fileDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out fileDTO);
                    return fileDTO;
                case MasterDataDTOSaveCollective.OutletVisitDay:
                    OutletVisitDayDTO outletVisitDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out outletVisitDTO);
                    return outletVisitDTO;
                case MasterDataDTOSaveCollective.OutletPriority:
                    OutletPriorityDTO outletPriorityDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out outletPriorityDTO);
                    return outletPriorityDTO;
                case MasterDataDTOSaveCollective.Target:
                    TargetDTO targetDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out targetDTO);
                    return targetDTO;
                case MasterDataDTOSaveCollective.User:
                    UserDTO userDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out userDTO);
                    return userDTO;
                case MasterDataDTOSaveCollective.DistributrSalesman:
                    DistributorSalesmanDTO distributorSalesmanDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out distributorSalesmanDTO);
                    return distributorSalesmanDTO;
                case MasterDataDTOSaveCollective.PasswordChange:
                    ChangePasswordDTO changePasswordDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out changePasswordDTO);
                    return changePasswordDTO;
                case MasterDataDTOSaveCollective.AppSettings:
                    AppSettingsDTO appSettingsDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out appSettingsDTO);
                    return appSettingsDTO;
                case MasterDataDTOSaveCollective.InventorySerials:
                    InventorySerialsDTO inventorySerialsDTO = null;
                    _masterDataDTOValidation.CanDeserializeMasterDataDTO(jsonMasterDataDTO, out inventorySerialsDTO);
                    return inventorySerialsDTO;
                    break;
                default:
                    throw new Exception("Failed to deserialize MasterDataDTO in MasterDataDTO deserializer");
            }
            return null;
        }
Пример #2
0
        private void SaveMasterData(MasterEntity entity, MasterDataDTOSaveCollective collective)
        {
            switch (collective)
            {
                case MasterDataDTOSaveCollective.Outlet:
                    if (entity is Outlet)
                        _costCentreRepository.Save(entity as Outlet);
                    break;
                case MasterDataDTOSaveCollective.Contact:
                    if (entity is Contact)
                        _contactRepository.Save(entity as Contact);
                    break;
                case MasterDataDTOSaveCollective.Asset:
                    if (entity is Asset)
                        _assetRepository.Save(entity as Asset);
                    break;
                case MasterDataDTOSaveCollective.DistributrFile:
                    if (entity is DistributrFile)
                        _distributrFileRepository.Save(entity as DistributrFile);
                    break;
                case MasterDataDTOSaveCollective.OutletVisitDay:
                    if (entity is OutletVisitDay)
                        _outletVisitDayRepository.Save(entity as OutletVisitDay);
                    break;
                case MasterDataDTOSaveCollective.OutletPriority:
                    if (entity is OutletPriority)
                        _outletPriorityRepository.Save(entity as OutletPriority);
                    break;
                case MasterDataDTOSaveCollective.Target:
                    if (entity is Target)
                        _targetRepository.Save(entity as Target);
                    break;
                case MasterDataDTOSaveCollective.User:
                    if (entity is User)
                        _userRepository.Save(entity as User);
                    break;
                case MasterDataDTOSaveCollective.DistributrSalesman:
                    if (entity is DistributorSalesman)
                        _costCentreRepository.Save(entity as DistributorSalesman);
                    break;
                case MasterDataDTOSaveCollective.PasswordChange:
                    if (entity != null && entity is User)
                        _userRepository.Save(entity as User);
                    break;
                case MasterDataDTOSaveCollective.AppSettings:
                    if (entity != null && entity is AppSettings)
                        _settingsRepository.Save(entity as AppSettings);
                    break;
                case MasterDataDTOSaveCollective.InventorySerials:
                    if (entity != null && entity is InventorySerials)
                        _inventorySerialsRepository.AddInventorySerial(entity as InventorySerials);
                    break;

                default:
                    break;
            }

        }
        public void RouteMasterData(MasterBaseDTO dTO, MasterDataDTOSaveCollective type)
        {

            
            var queueItem = new OutGoingMasterDataQueueItemLocal
                                {
                                    MasterId = dTO.MasterId,
                                    Type = type,
                                    IsSent = false,
                                    DateSent = DateTime.Now,
                                    JsonDTO = JsonConvert.SerializeObject(dTO, new IsoDateTimeConverter())
                                };
            _outGoingRepository.Add(queueItem);

        }
 public MasterEntity Resolver(MasterBaseDTO masterBase, MasterDataDTOSaveCollective collective)
 {
     MasterEntity entity = null;
     switch(collective)
     {
         case MasterDataDTOSaveCollective.Outlet:
             entity = GetOutletEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.Contact:
             entity = GetContactEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.Asset:
             entity = GetAssetEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.DistributrFile:
             entity = GetDistributrFileEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.OutletVisitDay:
             entity = GetOutletVisitDayEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.OutletPriority:
             entity = GetOutletPriorityEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.Target:
             entity = GetTargetEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.User:
             entity = GetUserEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.DistributrSalesman:
             entity = GetDistributorSalesmanEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.PasswordChange:
             entity = GetChangePasswordEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.AppSettings:
             entity = GetAppSettingsEntity(masterBase);
             break;
         case MasterDataDTOSaveCollective.MasterDataAllocation:
             entity = GetMasterDataAllocationEntity(masterBase);
             break;
         default:
             throw new Exception(string.Format("MasterColective FOR {0} NOT HANDLED ON SERVER", collective));
     }
     return entity;
 }
Пример #5
0
 public void HandleMasterDataDTO(MasterBaseDTO masterBaseDTO, MasterDataDTOSaveCollective collective)
 {
     try
     {
         if (collective == MasterDataDTOSaveCollective.InventorySerials)
         {
             SaveInventorySerials(masterBaseDTO);
         }
         else
         {
             MasterEntity entity = _masterDataEntityResolver.Resolver(masterBaseDTO, collective);
             SaveMasterData(entity, collective);
         }
     }
     catch (Exception ex)
     {
         _logger.Info("Error", ex);
         throw new Exception(ex.Message);
     }
 }
Пример #6
0
 public void Publish(MasterBaseDTO masterBase, MasterDataDTOSaveCollective collective)
 {
     _handleMasterData.HandleMasterDataDTO(masterBase, collective);
 }
Пример #7
0
        public async Task<bool> PushMasterDataAsync(MasterDataDTOSaveCollective masterDataCollective, MasterBaseDTO jsonDto)
        {
            PushMasterDataDto pushMasterDataDto = new PushMasterDataDto
                {
                    MasterDataCollective = masterDataCollective.ToString(),
                    MasterDto = jsonDto
                };
            bool success = false;
            _log.InfoFormat("Attempting to send command");
            HttpClient client = setupClient();

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            try
            {
                var response = await client.PostAsJsonAsync("api/pushmasterdata/run", pushMasterDataDto);
                var _response = await response.Content.ReadAsAsync<ResponseBool>();
                if (response.IsSuccessStatusCode)
                    success = true;
            }
            catch (Exception ex)
            {
                _log.Info("Failed to send command " + jsonDto);
                _log.Error("Failed to send command", ex);
            }
            return success;
        }