private void TestSAPConnection()
 {
     using (var c =NestedContainer)
     {
         var tested = new PullMasterdataService().TestSapcOnnection();
         if(tested)
         {
             Alert("Connection OK...!");
         }
         //else
         //{
         //    Alert("Something is not adding up..confirm the setting and ensure all SAP licences are updated and license server running!");
         //}
     }
 }
Example #2
0
        protected override async void LoadMenuItem(MenuItem item)
        {
            string itemname = item.Name;
            if (string.IsNullOrEmpty(itemname)) return;

            if (itemname == "sap")
            {
                var service = new PullMasterdataService();
                bool fileImported = true;
                foreach (var masterdata in GenerateMasterDataList)
                {
                    if (fileImported)
                        fileImported = service.Import(masterdata).Status;
                }
                if (fileImported)
                    Messenger.Default.Send("Ready to import");
                MessageBox.Show(fileImported ? "Done...!" : "Completed with errors...see logs for details!");
            }
            if (itemname == "ordes")
            {
               var done= await new ExportTransactionsService().ExportToSap(OrderType.OutletToDistributor);

            }
            if (itemname == "sales")
            {
                await new ExportTransactionsService().ExportToSap(OrderType.DistributorPOS);

            }
            if (itemname == "inventory")
            {
                new ExportTransactionsService().PullInventory();
            }
            if (itemname == "settings")
            {
                Navigate(@"/views/settings.xaml");
                
            }
            if (itemname == "Sync")
            {
                Navigate(@"/views/sync.xaml");

            }
        }
Example #3
0
        protected async override void Sync()
        {
            IntializeSyncMasterData();
         await   Task.Factory.StartNew(() =>
                                      {
                                          try
                                          {
                                              dtsyncCommand.Stop();
                                              
                                              Informer("Sap");
                                           
                                              var service = new PullMasterdataService();
                                              bool fileImported = true;
                                              foreach (var masterdata in GenerateMasterDataList)
                                              {

                                                  Informer("\t\t Pulling  " + masterdata);
                                                  if (fileImported)
                                                  {
                                                      var result = service.Import(masterdata);
                                                      fileImported = result.Status;
                                                      if (!fileImported)
                                                      {
                                                          Informer("\t\t Error  " + result.Info);
                                                      }
                                                  }
                                              }
                                              if (fileImported)
                                              {
                                                  Informer("Ready to import");
                                                  Informer("Done...!");
                                              }
                                              else
                                              {
                                                  Informer("Completed with errors...see logs for details!");
                                              }
                                             
                                              Informer("Distributor");

                                              foreach (var masterdata in GenerateMasterDataList)
                                              {
                                                  ImportMasterDataItem(masterdata);
                                              }
                                              Informer("Distributor --> Inventory");
                                                var config = InventoryConfiguration.Load();
                                              if (config == null)
                                              {
                                                  var info = new ExportTransactionsService().PullIntialInventory();
                                                  if (info.Status)
                                                      Informer("\t\tIntial Inventory uploaded successfully ");
                                                  else
                                                  {
                                                      Informer("\t\t " + info.Info);
                                                  }
                                              }
                                              else
                                              {
                                                  var info = new ExportTransactionsService().PullInventoryTransfer();
                                                  if (info.Status)
                                                      Informer("\t\tInventory transfer uploaded successfully ");
                                                  else
                                                  {
                                                      Informer("\t\t " + info.Info);
                                                  }
                                              }
                                              ExportOrders();
                                              ExportSaleOrders();

                                              if (!IsTimeStopped)
                                              {
                                                  dtsyncCommand.Interval = new TimeSpan(0, 10, 0);
                                                   dtsyncCommand.Start();
                                              }
                                                 
                                          }catch(Exception ex)
                                          {
                                              Informer(ex.Message);
                                          }

                                      });
        }
Example #4
0
        private void ImportMasterDataItem(string masterdata)
        {
             MasterDataFilepath = FileUtility.GetFilePath("masterdataimportpath");
             var syncTracker = MasterDataSyncConfiguration.Load();
             var servicesync = new PullMasterdataService();
                using (var c = NestedContainer)
                {
                    bool isSuccess = false;
                    var service = Using<IMasterDataImportService>(c);
                     try
                     {
                         var imports =

                             service.ImportAsync(MasterDataFilepath,
                                                 (MasterDataCollective)
                                                 Enum.Parse(typeof (MasterDataCollective), masterdata)).Result;

                         if (imports != null)
                         {

                             if (imports.Count <= 0)
                             {
                                 Informer(string.Format("\t\t{0} --> No master data items to upload", masterdata));
                                 return;
                             }


                             var responses = service.Upload(imports).Result;
                             if (responses.ValidationResults == null || responses.Result == null ||
                                 responses.Result.Contains("Error"))
                             {

                                 var error = responses != null && !string.IsNullOrEmpty(responses.ResultInfo)
                                                 ? responses.ResultInfo
                                                 : string.Format(
                                                     "{0} -> There is an unknown error response from server..import failed",
                                                     masterdata);

                                 Informer("\t\t" + error);

                                 return;

                             }
                             if (responses != null && responses.ValidationResults.Any())
                             {


                                 if (responses.ValidationResults.Any(n => !n.IsValid))
                                 {
                                     responses.ValidationResults.Where(n => !n.IsValid).SelectMany(s => s.Results).
                                         ToList
                                         ().ForEach(s => Informer(string.Format("\t\t{0} ->" + s, masterdata)));


                                 }
                                 else
                                 {

                                     isSuccess = true;
                                     Informer(string.Format("\t\t{0} -> Uploaded successfully", masterdata));

                                 }
                             }
                             else if (responses != null && responses.Result == "Success" &&
                                      (responses.ValidationResults.Count == 0 ||
                                       responses.ValidationResults.All(n => n.IsValid)))
                             {

                                 Informer(string.Format("\t\t{0} -> Uploaded successfully", masterdata));
                                 isSuccess = true;
                                 
                             }
                          var tracker=   syncTracker.Item.FirstOrDefault(s => s.Collective == (MasterDataCollective)
                                 Enum.Parse(typeof (MasterDataCollective), masterdata));
                             if (tracker != null)
                             {
                                 tracker.LastSyncDateTime =servicesync.GetCurrentDatetime().AddDays(-1);
                                 syncTracker.Save();
                             }
                         }
                     }
                     catch (AggregateException ex)
                            {
                                //var errors = ex.InnerExceptions.Aggregate(string.Empty,
                                //                                          (current, error) =>
                                //                                          current + error);
                                Informer(string.Format("\t\t{0} ->"+ex.Message,masterdata));
                                return  ;
                            }
                            catch (Exception ex)
                            {
                                Informer(string.Format("\t\t{0} ->Error=>" + ex.Message,masterdata));
                                return;
                            }



                    return;
                }
            


        }