예제 #1
0
파일: Main.cs 프로젝트: sundowndk/CDRLib
        public static void Main(string[] args)
        {
            CDRLib.Runtime.DBConnection = new Connection (	Toolbox.Enums.DatabaseConnector.Mysql,
                                                            "172.20.0.2",
                                                            "cdrtool",
                                                            "cdrtool",
                                                            "PAss1234",
                                                            true);

            if (CDRLib.Runtime.DBConnection.Connect ())
            {

                foreach (Range range in Range.List ())
                {
                    Console.WriteLine (range.Name);

                    RangePrice p1 = new RangePrice ();
                    p1.Price = 1.5m;
                    p1.HourSpanBegin = "08:00";
                    p1.HourSpanEnd = "19:59";
                    p1.Weekdays = CDRLib.Enums.Weekday.All;
                    p1.Save ();

                    RangePrice p2 = new RangePrice ();
                    p2.Price = 1.1m;
                    p2.HourSpanBegin = "20:00";
                    p2.HourSpanEnd = "07:59";
                    p2.Weekdays = CDRLib.Enums.Weekday.All;
                    p2.Save ();

                    RangePrice p3 = new RangePrice ();
                    p3.Price = 1.1m;
                    p3.HourSpanBegin = "00:00";
                    p3.HourSpanEnd = "00:00";
                    p3.Weekdays = CDRLib.Enums.Weekday.Sunday;
                    p3.Save ();

                    RangePriceGroup g1 = new RangePriceGroup ();
                    g1.RangePrices.Add (p1);
                    g1.RangePrices.Add (p2);
                    g1.RangePrices.Add (p3);
                    g1.Name = "Priser 2011";
                    g1.ValidFromTimestamp = Toolbox.Date.DateTimeToTimestamp (DateTime.Parse ("2011-01-01 00:00:00"));
                    g1.ValidToTimestamp = Toolbox.Date.DateTimeToTimestamp (DateTime.Parse ("2011-12-13 23:59:00"));
                    g1.Save ();

                    RangePrice p4 = new RangePrice ();
                    p4.Price = 2.5m;
                    p4.HourSpanBegin = "08:00";
                    p4.HourSpanEnd = "19:59";
                    p4.Weekdays = CDRLib.Enums.Weekday.All;
                    p4.Save ();

                    RangePrice p5 = new RangePrice ();
                    p5.Price = 2.1m;
                    p5.HourSpanBegin = "20:00";
                    p5.HourSpanEnd = "07:59";
                    p5.Weekdays = CDRLib.Enums.Weekday.All;
                    p5.Save ();

                    RangePrice p6 = new RangePrice ();
                    p6.Price = 2.1m;
                    p6.HourSpanBegin = "00:00";
                    p6.HourSpanEnd = "00:00";
                    p6.Weekdays = CDRLib.Enums.Weekday.Sunday;
                    p6.Save ();

                    RangePriceGroup g2 = new RangePriceGroup ();
                    g2.RangePrices.Add (p4);
                    g2.RangePrices.Add (p5);
                    g2.RangePrices.Add (p6);
                    g2.Name = "Priser 2011";
                    g2.ValidFromTimestamp = Toolbox.Date.DateTimeToTimestamp (DateTime.Parse ("2011-01-01 00:00:00"));
                    g2.ValidToTimestamp = Toolbox.Date.DateTimeToTimestamp (DateTime.Parse ("2011-12-13 23:59:00"));
                    g2.Save ();

                    range.CostRangePriceGroups.Add (g1);
                    range.RetailRangePriceGroups.Add (g2);

                    range.Save ();

                }

            //				RangePrice p1 = new RangePrice ();
            //				p1.Price = 1.5m;
            //				p1.HourSpanBegin = "08:00";
            //				p1.HourSpanEnd = "19:59";
            //				p1.Weekdays = CDRLib.Enums.Weekday.All;
            //				p1.Save ();
            //
            //				RangePrice p2 = new RangePrice ();
            //				p2.Price = 1.1m;
            //				p2.HourSpanBegin = "20:00";
            //				p2.HourSpanEnd = "07:59";
            //				p2.Weekdays = CDRLib.Enums.Weekday.All;
            //				p2.Save ();
            //
            //				RangePrice p3 = new RangePrice ();
            //				p3.Price = 1.1m;
            //				p3.HourSpanBegin = "00:00";
            //				p3.HourSpanEnd = "00:00";
            //				p3.Weekdays = CDRLib.Enums.Weekday.Sunday;
            //				p3.Save ();
            //
            //				RangePriceGroup g1 = new RangePriceGroup ();
            //				g1.RangePrices.Add (p1);
            //				g1.RangePrices.Add (p2);
            //				g1.RangePrices.Add (p3);
            //				g1.Name = "Priser 2011";
            //				g1.ValidFromTimestamp = Toolbox.Date.DateTimeToTimestamp (DateTime.Parse ("2011-01-01 00:00:00"));
            //				g1.ValidToTimestamp = Toolbox.Date.DateTimeToTimestamp (DateTime.Parse ("2011-12-13 23:59:00"));
            //				g1.Save ();

            //				Subscription subscription1 = Subscription.Load (new Guid ("8ff83b88-77f8-4c29-94fe-30382518c967"));

            //				Customer customer1 = Customer.Load (new Guid ("39b117af-26d6-4238-b6ef-76b9032e745f"));
            //				customer1.Subscriptions.Add (subscription1);
            //				customer1.Save ();

            //				Console.WriteLine (customer1.Name);
            //				foreach (Subscription subscription in customer1.Subscriptions)
            //				{
            //					foreach (SIPAccount sipaccount in subscription.SIPAccounts)
            //					{
            //						foreach (string number in sipaccount.Numbers)
            //						{
            //							Console.WriteLine (number);
            //						}
            //					}
            //				}

            //				Customer customer1 = new Customer ();
            //				customer1.Name = "VIP GROUP";
            //				customer1.Save ();

            //				Subscription subscription1 = new Subscription (customer1);
            //				subscription1.Save ();
            //
            //				SIPAccount sipaccount1 = new SIPAccount (subscription1);
            //				sipaccount1.Numbers.Add ("88334660");
            //				sipaccount1.Numbers.Add ("20210844");
            //				sipaccount1.Numbers.Add ("50460609");
            //				sipaccount1.Numbers.Add ("30336439");
            //
            //				sipaccount1.Save ();
            //
            //				RangeGroup r1 = RangeGroup.Load (new Guid ("2a17c788-a00a-48c2-980d-ef06569d6688"));
            //
            //				Console.WriteLine ("RangeGroup: "+ r1.Name);
            //				Console.WriteLine (r1.CountryCodes.Count);
            //
            //				foreach (CountryCode cc in r1.CountryCodes)
            //				{
            //					foreach (string dc in cc.DialCodes)
            //					{
            //						Console.WriteLine (dc);
            //					}
            //				}

            //				RangeGroup r1 = new RangeGroup ();
            //				r1.Name = "TerraSip";
            //
            //				List<Guid> ids = new List<Guid> ();
            //				ids.Add (new Guid ("cbf25949-3daa-4a5b-a1e3-bc9f67157d75"));
            //				ids.Add (new Guid ("266bbaec-19a1-41eb-a900-f6a4de7f6b1d"));
            //				ids.Add (new Guid ("66153278-43f4-43f7-b223-09a3cbdad0ce"));
            //				ids.Add (new Guid ("4476b7de-14c6-4f77-8000-aebc709c6ef3"));
            //				ids.Add (new Guid ("1d1e9f7d-9738-46e5-8b97-f6ae2b3835db"));
            //				ids.Add (new Guid ("16164d30-e8ee-4d19-ae28-880290f03282"));
            //				ids.Add (new Guid ("0186ead3-1a3b-46d1-b966-25dcdf792679"));
            //				ids.Add (new Guid ("3fea0771-e9ea-466f-aa33-930000a598c3"));
            //				ids.Add (new Guid ("8133317f-31f6-4092-8c94-747aef38e69b"));
            //				ids.Add (new Guid ("b6032176-c850-43e7-ae24-d2bfcb868aba"));
            //
            //				foreach (RangeGroup r2 in RangeGroup.List ())
            //				{
            //					if (!ids.Contains (r2.Id))
            //					{
            //						Console.WriteLine (r2.Name);
            //						r1.Ranges.Add (r2);
            //					}
            //				}
            //				r1.Save ();

            //cbf25949-3daa-4a5b-a1e3-bc9f67157d75 Norden
            //266bbaec-19a1-41eb-a900-f6a4de7f6b1d Europa 1
            //66153278-43f4-43f7-b223-09a3cbdad0ce Europa 2
            //4476b7de-14c6-4f77-8000-aebc709c6ef3 Europa 3
            //1d1e9f7d-9738-46e5-8b97-f6ae2b3835db Asien
            //16164d30-e8ee-4d19-ae28-880290f03282 Øvrige Verden 1
            //0186ead3-1a3b-46d1-b966-25dcdf792679 Øvrige Verden 2
            //3fea0771-e9ea-466f-aa33-930000a598c3 Øvrige Verden 3
            //8133317f-31f6-4092-8c94-747aef38e69b Nordamerika

            //				RangeGroup r1 = new RangeGroup ();
            //				r1.Name = "Nordamerika";
            //
            //				foreach (string line in Toolbox.IO.ReadTextFile ("ipvisiongrupper", Encoding.UTF8))
            //				{
            //					foreach (RangeGroup rangegroup in RangeGroup.List ())
            //					{
            //						if (rangegroup.Name == line.Trim ())
            //						{
            //							Console.WriteLine (rangegroup.Name);
            //							r1.Ranges.Add (rangegroup);
            //						}
            //					}
            //				}
            //
            //				Console.WriteLine (r1.Ranges.Count);
            ////				r1.Save ();

                Environment.Exit (0);

            //				List<string> test = new List<string> ();
            //				foreach (string line in Toolbox.IO.ReadTextFile ("countrycodes.csv", Encoding.UTF8))
            //				{
            //					string[] split = line.Split (";".ToCharArray ());
            //
            //					CountryCode countrycode = new CountryCode ();
            //					countrycode.Name = split[0];
            //
            //					Console.WriteLine ("Country: "+ split[0]);
            //					foreach (string code in split[1].Split (",".ToCharArray (), StringSplitOptions.RemoveEmptyEntries))
            //					{
            //						foreach (string name in split[2].Split (",".ToCharArray (), StringSplitOptions.RemoveEmptyEntries))
            //						{
            //
            //							countrycode.AlternativNames.Add (name);
            //							Console.WriteLine ("\tAlternativName: "+ name);
            //						}
            //
            //						Console.WriteLine ("\tCode: "+ code);
            //						countrycode.Codes.Add (code);
            //						test.Add (code);
            //					}
            //					countrycode.Save ();
            //
            //				}

            //				Environment.Exit (0);
            //				Range range1 = new Range ();
            //				range1.Name = "Danmark";
            //
            //				RangePrice rangeprice1 = new RangePrice ();
            //				rangeprice1.Price = 2.5m;
            //				rangeprice1.HourSpanBegin = "08:00";
            //				rangeprice1.HourSpanEnd = "20:00";
            //				rangeprice1.Weekdays = CDRLib.Enums.Weekday.All;
            //
            //				RangePrice rangeprice2 = new RangePrice ();
            //				rangeprice2.Price = 1.2m;
            //				rangeprice2.HourSpanBegin = "20:00";
            //				rangeprice2.HourSpanEnd = "08:00";
            //				rangeprice2.Weekdays = CDRLib.Enums.Weekday.All;
            //
            //				RangePrice rangeprice3 = new RangePrice ();
            //				rangeprice3.Price = 1.2m;
            //				rangeprice3.HourSpanBegin = "00:00";
            //				rangeprice3.HourSpanEnd = "00:00";
            //				rangeprice3.Weekdays = CDRLib.Enums.Weekday.Sunday;
            //
            //				RangePrice rangeprice4 = new RangePrice ();
            //				rangeprice4.Price = 2.8m;
            //				rangeprice4.HourSpanBegin = "08:00";
            //				rangeprice4.HourSpanEnd = "20:00";
            //				rangeprice4.Weekdays = CDRLib.Enums.Weekday.All;
            //
            //				RangePrice rangeprice5 = new RangePrice ();
            //				rangeprice5.Price = 1.5m;
            //				rangeprice5.HourSpanBegin = "20:00";
            //				rangeprice5.HourSpanEnd = "08:00";
            //				rangeprice5.Weekdays = CDRLib.Enums.Weekday.All;
            //
            //				RangePrice rangeprice6 = new RangePrice ();
            //				rangeprice6.Price = 1.5m;
            //				rangeprice6.HourSpanBegin = "00:00";
            //				rangeprice6.HourSpanEnd = "00:00";
            //				rangeprice6.Weekdays = CDRLib.Enums.Weekday.Sunday;
            //
            //				range1.Cost.Add (rangeprice1);
            //				range1.Cost.Add (rangeprice2);
            //				range1.Cost.Add (rangeprice3);
            //
            //				range1.Retail.Add (rangeprice4);
            //				range1.Retail.Add (rangeprice5);
            //				range1.Retail.Add (rangeprice6);
            //
            //				range1.DialCode = "4535";
            //				range1.Save ();

            //				foreach (Range range in Range.List ())
            //				{
            //					Console.WriteLine ("Range: "+ range.Name);
            //					Console.WriteLine ("\t Cost: ");
            //					foreach (RangePrice rangeprice in range.Cost)
            //					{
            //						Console.WriteLine ("\t\t Price: "+ rangeprice.Price);
            //						Console.WriteLine ("\t\t HourSpanBegin: "+ rangeprice.HourSpanBegin);
            //						Console.WriteLine ("\t\t HourSpanEnd: "+ rangeprice.HourSpanEnd);
            //						Console.WriteLine ("\t\t Weekdays: "+ rangeprice.Weekdays);
            //						Console.WriteLine ("");
            //					}
            //
            //					Console.WriteLine ("\t Retail: ");
            //					foreach (RangePrice rangeprice in range.Retail)
            //					{
            //						Console.WriteLine ("\t\t Price: "+ rangeprice.Price);
            //						Console.WriteLine ("\t\t HourSpanBegin: "+ rangeprice.HourSpanBegin);
            //						Console.WriteLine ("\t\t HourSpanEnd: "+ rangeprice.HourSpanEnd);
            //						Console.WriteLine ("\t\t Weekdays: "+ rangeprice.Weekdays);
            //						Console.WriteLine ("");
            //					}
            //
            //					Console.WriteLine ("\t Dialcode: "+ range.DialCode);
            //				}

            //				foreach (RangeGroup rangegroup in RangeGroup.List ())
            //				{
            //					Console.WriteLine (rangegroup.Id);
            //					RangeGroup.Delete (rangegroup.Id);
            //				}

            //				RangeGroup rangegroup1 = new RangeGroup ();
            //				rangegroup1.Name = "All";
            //
            //

            //			foreach (CountryCode countrycode in CountryCode.List ())
            //			{
            //				Console.WriteLine (countrycode.Name);
            //
            //			}

            //				foreach (RangeGroup rangegroup in RangeGroup.List ())
            //				{
            //					Console.WriteLine ("RangeGroup: "+ rangegroup.Name);
            //
            //					foreach (CountryCode countrycode in rangegroup.CountryCodes)
            //					{
            //						foreach (string dialcode in countrycode.DialCodes)
            //						{
            //							Console.WriteLine ("\tDialcode: "+ dialcode);
            //						}
            //					}
            //				}

                Environment.Exit (0);

                List<Range> ranges = Range.List ();

                foreach (CountryCode countrycode in CountryCode.List ())
                {
                    RangeGroup rangegroup = new RangeGroup ();
                    rangegroup.Name = countrycode.Name;
                    rangegroup.CountryCodes.Add (countrycode);

                    Console.WriteLine ("Country: "+ countrycode.Name);
                    foreach (string code in countrycode.DialCodes)
                    {
                        Console.WriteLine ("\t Code: "+ code);
                        foreach (Range range in ranges)
                        {
                            Match matchrange = Regex.Match (range.DialCode, @"^0*" + code);
                            if (matchrange.Success)
                            {
                                rangegroup.Ranges.Add (range);
                                Console.WriteLine ("\t\t Name: "+ range.Name +" "+ range.DialCode);
                            }
                        }
                    }

                    rangegroup.Save ();
                }

            //				foreach (Range range in Range.List ())
            //				{
            //
            //					Match matchrange = Regex.Match (range.DialCode, @"^0*" + "45");
            //					if (matchrange.Success)
            //					{
            //						Console.WriteLine ("Name: "+ range.Name);
            //					}

            //					rangegroup1.AddRange (range);
            ////					rangegroup1
            ////					rangegroup1.Ranges.Add (range);
            //					Console.WriteLine ("Name: "+ range.Name);
            ////
            //				}
            //
            //				rangegroup1.Save ();

            //				foreach (RangeGroup rangegroup in RangeGroup.List ())
            //				{
            //					Console.WriteLine ("RangeGroup: "+ rangegroup.Name);
            //
            //					foreach (Range range in rangegroup.Ranges)
            //					{
            //						Console.WriteLine ("\tRange: "+ range.Name);
            //						Console.WriteLine ("\t\t Dialcode: "+ range.DialCode);
            //						Console.WriteLine ("\t\t Cost: ");
            //						foreach (RangePrice rangeprice in range.Cost)
            //						{
            //							Console.WriteLine ("\t\t\t Price: "+ rangeprice.Price);
            //							Console.WriteLine ("\t\t\t HourSpanBegin: "+ rangeprice.HourSpanBegin);
            //							Console.WriteLine ("\t\t\t HourSpanEnd: "+ rangeprice.HourSpanEnd);
            //							Console.WriteLine ("\t\t\t Weekdays: "+ rangeprice.Weekdays);
            //							Console.WriteLine ("");
            //						}
            //
            //						Console.WriteLine ("\t\t Retail: ");
            //						foreach (RangePrice rangeprice in range.Retail)
            //						{
            //							Console.WriteLine ("\t\t\t Price: "+ rangeprice.Price);
            //							Console.WriteLine ("\t\t\t HourSpanBegin: "+ rangeprice.HourSpanBegin);
            //							Console.WriteLine ("\t\t\t HourSpanEnd: "+ rangeprice.HourSpanEnd);
            //							Console.WriteLine ("\t\t\t Weekdays: "+ rangeprice.Weekdays);
            //							Console.WriteLine ("");
            //						}
            //
            //						Range.Delete (range.Id);
            //					}
            //
            //					RangeGroup.Delete (rangegroup.Id);
            //				}

            //				Environment.Exit (0);
            //
            //				Customer customer1 = new Customer ();
            //				customer1.Name = "Test customer #1";
            //				customer1.Save ();
            //
            //				Subscription subscription1 = new Subscription (customer1);
            //				subscription1.Save ();
            //
            //				SIPAccount sipaccount1 = new SIPAccount (subscription1);
            //				sipaccount1.Numbers.Add ("11111111");
            //				sipaccount1.Numbers.Add ("22222222");
            //				sipaccount1.Numbers.Add ("33333333");
            //				sipaccount1.Save ();
            //
            //				SIPAccount sipaccount2 = new SIPAccount (subscription1);
            //				sipaccount2.Numbers.Add ("44444444");
            //				sipaccount2.Numbers.Add ("55555555");
            //				sipaccount2.Numbers.Add ("66666666");
            //				sipaccount2.Save ();
            //
            //				foreach (Customer customer in Customer.List ())
            //				{
            //					foreach (Subscription subscription in customer.Subscriptions)
            //					{
            //						Console.WriteLine ("Subscription: "+ subscription.Id);
            //
            //						foreach (SIPAccount sipaccount in subscription.SIPAccounts)
            //						{
            //							Console.WriteLine ("\t SIPAccount: "+ sipaccount.Id);
            //							foreach (string number in sipaccount.Numbers)
            //							{
            //								Console.WriteLine ("\t\t Number: "+ number);
            //							}
            //						}
            //					}
            //
            //					Customer.Delete (customer.Id);
            //				}
            }
            else
            {
                Console.WriteLine ("Could not connect to database.");
            }
        }
예제 #2
0
        public static RangePrice Load(Guid Id)
        {
            bool success = false;
            RangePrice result = new RangePrice ();

            QueryBuilder qb = new QueryBuilder (QueryBuilderType.Select);
            qb.Table (DatabaseTableName);
            qb.Columns (
                "id",
                "createtimestamp",
                "updatetimestamp",
                "price",
                "hourspanbegin",
                "hourspanend",
                "weekdays"
                );

            qb.AddWhere ("id", "=", Id);

            Query query = Runtime.DBConnection.Query (qb.QueryString);

            if (query.Success)
            {
                if (query.NextRow ())
                {
                    result._id = query.GetGuid (qb.ColumnPos ("id"));
                    result._createtimestamp = query.GetInt (qb.ColumnPos ("createtimestamp"));
                    result._updatetimestamp = query.GetInt (qb.ColumnPos ("updatetimestamp"));
                    result._price = query.GetDecimal (qb.ColumnPos ("price"));
                    result._hourspanbegin = query.GetString (qb.ColumnPos ("hourspanbegin"));
                    result._hourspanend = query.GetString (qb.ColumnPos ("hourspanend"));
                    result._weekdays = query.GetEnum<Enums.Weekday> (qb.ColumnPos ("weekdays"));

                    success = true;
                }
            }

            query.Dispose ();
            query = null;
            qb = null;

            if (!success)
            {
                throw new Exception (string.Format (Strings.Exception.RangePriceLoad, Id));
            }

            return result;
        }