예제 #1
0
 private void IntegrateSave(RuimteOfferte save)
 {
     offerteRuimte_ = new RuimteOfferte();
     if (save != null)
     {
         foreach (var r in offerteRuimte_.Children)
         {
             var ruimte = r as Ruimte;
             if (ruimte != null)
             {
                 var saved_ruimte = save.Children.Where(x => (x as Ruimte).RuimteID == ruimte.RuimteID).FirstOrDefault() as Ruimte;
                 if (saved_ruimte != null)
                 {
                     ruimte.GekozenAccenten    = CheckProductsExists(saved_ruimte.GekozenAccenten, save.LoadedCompleet);
                     ruimte.GekozenBewerkingen = CheckBewerkingenExists(saved_ruimte.GekozenBewerkingen, save.LoadedCompleet);
                     ruimte.GekozenOpties      = CheckOptiesExists(saved_ruimte.GekozenOpties, save.LoadedCompleet);
                     ruimte.GekozenPakket      = CheckPakkettenExists(saved_ruimte.GekozenPakket, save.LoadedCompleet);
                     ruimte.PakketOud          = ruimte.GekozenPakket;
                     ruimte.GekozenProfielen   = CheckProfielenExists(saved_ruimte.GekozenProfielen, save.LoadedCompleet);
                     ruimte.GekozenTegels      = CheckProductsExists(saved_ruimte.GekozenTegels, save.LoadedCompleet);
                     ruimte.AanvullendeMeters  = CheckMetersExists(saved_ruimte.AanvullendeMeters, save.LoadedCompleet);
                 }
             }
         }
         offerteRuimte_.Korting = save.Korting;
         if (save.LoadedCompleet != null)
         {
             offerteRuimte_.LoadedCompleet = save.LoadedCompleet;
         }
     }
 }
        public void SaveOfferte(RuimteOfferte ro, bool volledig, KeuzeControls.FinalStage FinSta)
        {
            var xml = SerializeOfferte(ro);
            //check xml vs saved xml using xml diff

            var ctx = Acumulator.Instance().ctx;
            OpgeslagenOffertes oo = new OpgeslagenOffertes();

            oo.timestamp = FinSta.PrintDatum;
            Acumulator.Instance().OfferteDatum = FinSta.PrintDatum;
            CompleteSaveOfferte(oo, xml, volledig, FinSta);
            //oo.timestamp = DateTime.Now;
            // Acumulator.Instance().OfferteDatum = DateTime.Now;
        }
예제 #3
0
        protected override IOfferte BouwOfferte()
        {
            Acumulator.Instance().BusyBee.BusyContent = "Opbouwen OfferteBoom - Basis";
            Acumulator.Instance().BusyBee.IsBusy = true;
            offerteBasis_ = new BaseOfferte();
            Acumulator.Instance().BusyBee.BusyContent = "Opbouwen OfferteBoom - Kavel";
            offerteKavel_ = new KavelOfferte();
            offerteBasis_.Add(offerteKavel_);
            //load existing save
            var           ctx       = Acumulator.Instance().ctx;
            RuimteOfferte Loaded_ro = null;

            if (ctx.OpgeslagenOffertes != null)
            {
                var maxdate = (from oo in ctx.OpgeslagenOffertes
                               where oo.Bouwnummer_NR == Acumulator.Instance().Bouwnr
                               select oo.timestamp).Max();
                LogHelper.SendLog("Save Found", LogType.status);
                var ofxml = (from oo in ctx.OpgeslagenOffertes
                             where oo.Bouwnummer_NR == Acumulator.Instance().Bouwnr&& oo.timestamp == maxdate
                             select oo.Xml_Value).FirstOrDefault();
                if (ofxml != null)
                {
                    Acumulator.Instance().SavedXml = ofxml;
                    SaveLoadXML slx = new SaveLoadXML();
                    Loaded_ro = slx.LoadOfferte(ofxml);
                    Acumulator.Instance().OfferteDatum = (System.DateTime)maxdate;
                }
            }
            Acumulator.Instance().BusyBee.BusyContent = "Opbouwen OfferteBoom - Ruimtes";
            if (Loaded_ro != null)
            {
                LogHelper.SendLog("Xml Parse Succes", LogType.status);
                loaded = true;

                //offerteRuimte_ = Loaded_ro;
                IntegrateSave(Loaded_ro);
            }
            else
            {
                offerteRuimte_ = new RuimteOfferte();
            }
            offerteKavel_.Add(offerteRuimte_);
            Acumulator.Instance().BusyBee.IsBusy = false;
            return(offerteBasis_);
        }
        public string SerializeOfferte(RuimteOfferte ro)
        {
            XmlSerializer xser = new XmlSerializer(ro.GetType(), typez);
            StringWriter  sw   = new StringWriter();
            var           cntr = 0;

Start:
            if (cntr < 3)
            {
                cntr++;
                try {
                    xser.Serialize(sw, ro);
                }
                catch (Exception e) {
                    LogHelper.SendLog(e.Message, LogType.error);
                    goto Start;
                }
            }
            return(sw.ToString());
        }