Example #1
0
        public override void Init(HttpListenerContext ctx = null)
        {
            HTMLFile baseFile = FileManager.LoadFile("base.html");
            HTMLFile carFile  = FileManager.LoadFile("blocks/detail.html");

            sales_catalog_car car = DB.GetModel("sales_catalog_car").Select("*").AddFieldToFilter("car_license_plate", new Tuple <string, Expression>("eq", new Expression(Url.Split('/')[1]))).Load().ToDataSet <sales_catalog_car>().First();

            sales_order_item[] items = DB.GetModel("sales_order_item").Select("*").AddFieldToFilter("car_id", new Tuple <string, Expression>("eq", new Expression(car.car_id.ToString()))).Load().ToDataSet <sales_order_item>();

            List <string> dates = new List <string>();

            foreach (sales_order_item item in items)
            {
                for (DateTime dt = Convert.ToDateTime(item.hired_from); dt <= Convert.ToDateTime(item.hired_to); dt = dt.AddDays(1))
                {
                    dates.Add(string.Format("{0:yyyy/MM/dd}", dt.Date));
                }
            }

            carFile.AddData(new Dictionary <string, object>()
            {
                { "image", GetImagePath(car.car_image) },
                { "name", car.car_type + " - " + car.car_brand },
                { "description", car.car_description },
                { "price", car.car_day_price.ToString() },
                { "license", car.car_license_plate },
                { "dates", dates.ToArray() }
            });

            baseFile.AddData(new Dictionary <string, object>()
            {
                { "register", GetUrl("register") },
                { "login", GetUrl("login") },
                { "content", carFile.GetData() }
            });

            if (ctx.Request.Cookies["guid"] != null &&
                Sessions.sessions.ContainsKey(
                    (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key)
                    .First()))
            {
                baseFile.AddData(new Dictionary <string, object>()
                {
                    { "account", GetUrl("myaccount") }
                });
            }

            LoadBootStrap();
            this.AddCss("styles.css");
            this.AddCss("datepicker.min.css");
            this.AddJs("datepicker.min.js");
            this.AddJs("custom.js");

            this.response    = baseFile.GetData();
            this.ContentType = Constants.CONTENT_HTML;
        }
Example #2
0
        public override void Init(HttpListenerContext ctx = null)
        {
            HTMLFile baseFile  = FileManager.LoadFile("base.html");
            HTMLFile adminFile = FileManager.LoadFile("blocks/beheer.html");

            sales_catalog_car car = DB.GetModel("sales_catalog_car").Select("*").AddFieldToFilter("car_license_plate", new Tuple <string, Expression>("eq", new Expression(Url.Split('/')[3]))).Load().ToDataSet <sales_catalog_car>().First();

            int customerID = (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key).First();

            core_customer customer = DB.GetModel("core_customer").Select("*").AddFieldToFilter("customer_id", new Tuple <string, Expression>("eq", new Expression(customerID.ToString()))).AddFieldToFilter("is_admin", new Tuple <string, Expression>("eq", new Expression("1"))).Load().ToDataSet <core_customer>().First();

            if (customer == null)
            {
                Location = "/index";
                return;
            }

            adminFile.AddData(new Dictionary <string, object>()
            {
                { "username", customer.customer_name }
            });

            adminFile.AddData(new Dictionary <string, object>()
            {
                { "content", DataSet.ToHTMLForm(typeof(sales_catalog_car), car, car.car_id, "PATCH", "http://localhost/admin/cars") }
            });

            baseFile.AddData(new Dictionary <string, object>()
            {
                { "register", GetUrl("register") },
                { "login", GetUrl("login") },
                { "content", adminFile.GetData() }
            });

            if (ctx.Request.Cookies["guid"] != null &&
                Sessions.sessions.ContainsKey(
                    (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key)
                    .First()))
            {
                baseFile.AddData(new Dictionary <string, object>()
                {
                    { "account", GetUrl("myaccount") }
                });
            }

            LoadBootStrap();
            this.AddCss("styles.css");
            this.AddCss("datepicker.min.css");
            this.AddJs("datepicker.min.js");
            this.AddJs("custom.js");

            this.response    = baseFile.GetData();
            this.ContentType = Constants.CONTENT_HTML;
        }
Example #3
0
        public override void Init(HttpListenerContext ctx = null)
        {
            HTMLFile baseFile    = FileManager.LoadFile("base.html");
            HTMLFile confirmFile = FileManager.LoadFile("blocks/confirm.html");

            if (ctx.Request.Cookies["guid"] != null &&
                Sessions.sessions.ContainsKey(
                    (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key)
                    .First()))
            {
                baseFile.AddData(new Dictionary <string, object>()
                {
                    { "account", GetUrl("myaccount") }
                });
            }
            else
            {
                this.Location = "/register";
                return;
            }

            sales_catalog_car car = DB.GetModel("sales_catalog_car").Select("*").AddFieldToFilter("car_license_plate", new Tuple <string, Expression>("eq", new Expression(Url.Split('/')[1]))).Load().ToDataSet <sales_catalog_car>().First();

            int customerID = (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key).First();

            core_customer customer = DB.GetModel("core_customer").Select("*").AddFieldToFilter("customer_id", new Tuple <string, Expression>("eq", new Expression(customerID.ToString()))).Load().ToDataSet <core_customer>().First();

            confirmFile.AddData(new Dictionary <string, object>()
            {
                { "car_name", car.car_type + " - " + car.car_brand },
                { "hired_from", _POST["date_1"] },
                { "hired_to", _POST["date_2"] },
                { "address", "<address><strong>" + customer.customer_name + "</strong>, " + customer.address_street + " " + customer.address_number + " <br>" + customer.address_postal + "</address>" },
                { "price", Convert.ToInt16((DateTime.ParseExact(_POST["date_2"], "yyyy/MM/dd", CultureInfo.InvariantCulture) - DateTime.ParseExact(_POST["date_1"], "yyyy/MM/dd", CultureInfo.InvariantCulture)).TotalDays) * car.car_day_price },
                { "license", car.car_license_plate }
            });

            baseFile.AddData(new Dictionary <string, object>()
            {
                { "register", GetUrl("register") },
                { "login", GetUrl("login") },
                { "content", confirmFile.GetData() }
            });

            LoadBootStrap();
            this.AddCss("styles.css");

            this.Location = "";

            this.response    = baseFile.GetData();
            this.ContentType = Constants.CONTENT_HTML;
        }
Example #4
0
        public override void Init(HttpListenerContext ctx = null)
        {
            if (ctx.Request.Cookies["guid"] != null &&
                Sessions.sessions.ContainsKey(
                    (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key)
                    .First()))
            {
            }

            sales_catalog_car car = DB.GetModel("sales_catalog_car").Select("*").AddFieldToFilter("car_license_plate", new Tuple <string, Expression>("eq", new Expression(Url.Split('/')[1]))).Load().ToDataSet <sales_catalog_car>().First();

            int customerID = (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key).First();

            core_customer customer = DB.GetModel("core_customer").Select("*").AddFieldToFilter("customer_id", new Tuple <string, Expression>("eq", new Expression(customerID.ToString()))).Load().ToDataSet <core_customer>().First();

            Model insertModel = DB.GetModel("sales_flat_order").Insert();

            insertModel
            .AddDataToInsert(new KeyValuePair <string, string>("customer_id", customer.customer_id.ToString()))
            .AddDataToInsert(new KeyValuePair <string, string>("treated_by", "PIET"));

            insertModel.Load();

            sales_flat_order order = DB.GetModel("sales_flat_order").Select("*").AddFieldToFilter("order_id", Tuple.Create <string, Expression>("eq", new Expression("LAST_INSERT_ID()", false))).Load().ToDataSet <sales_flat_order>().First();

            DB.GetModel("sales_flat_order")
            .Update()
            .AddKeyValueToUpdate(new KeyValuePair <string, string>("invoice_link",
                                                                   "pdf/1000" + order.order_id + ".pdf"))
            .AddFieldToFilter("order_id",
                              Tuple.Create <string, Expression>("eq", new Expression(order.order_id.ToString())))
            .Load();

            DB.GetModel("sales_order_item").Insert()
            .AddDataToInsert(new KeyValuePair <string, string>("order_id", order.order_id.ToString()))
            .AddDataToInsert(new KeyValuePair <string, string>("car_id", car.car_id.ToString()))
            .AddDataToInsert(new KeyValuePair <string, string>("hired_from", _POST["date_1"]))
            .AddDataToInsert(new KeyValuePair <string, string>("hired_to", _POST["date_2"]))
            .Load();

            int days =
                Convert.ToInt16(
                    (DateTime.ParseExact(_POST["date_2"], "yyyy/MM/dd", CultureInfo.InvariantCulture) -
                     DateTime.ParseExact(_POST["date_1"], "yyyy/MM/dd", CultureInfo.InvariantCulture)).TotalDays);

            new InvoicerApi(SizeOption.A4, OrientationOption.Landscape, "€")
            .TextColor("#0000CC")
            .BackColor("#87ceeb")
            .Title("Factuur")
            .BillingDate(DateTime.Now)
            .Reference("1000" + order.order_id)
            .Company(Address.Make("VAN", new string[] { "Rent-a-Car", "Almere" }))
            .Client(Address.Make("FACTUUR ADRES",
                                 new string[]
            {
                customer.customer_name, customer.address_street + " " + customer.address_number,
                customer.address_city, customer.address_postal
            }))
            .Items(new List <ItemRow>
            {
                ItemRow.Make(car.car_type + " - " + car.car_brand, "van: " + _POST["date_1"] + " tot: " + _POST["date_2"],
                             (decimal)days, days * decimal.Multiply(car.car_day_price, (decimal)0.25), (decimal)car.car_day_price,
                             decimal.Multiply(days, car.car_day_price)),
            })
            .Totals(new List <TotalRow>
            {
                TotalRow.Make("Subtotaal", days * decimal.Multiply(car.car_day_price, (decimal)0.75)),
                TotalRow.Make("BTW @ 25%", days * decimal.Multiply(car.car_day_price, (decimal)0.25)),
                TotalRow.Make("Totaal", decimal.Multiply(days, car.car_day_price), true),
            })
            .Details(new List <DetailRow>
            {
                DetailRow.Make("BETALINGS INFORMATIE",
                               "U kunt achteraf betalen bij de medewerker die uw order afhandeld.", "",
                               "Als u nog verdere vragen heeft kunt u mailen naar [email protected]", "",
                               "Bedankt voor uw bestelling",
                               "U kunt de auto ophalen op: " + _POST["date_1"],
                               "En de auto dient op zijn laatst om 17:00 op: " + _POST["date_2"] + " terug gebracht te worden.")
            })
            .Footer("http://www.rent-a-car.com")
            .Save(FileManager.BaseDir + "pdf/1000" + order.order_id + ".pdf");

            string path = FileManager.BaseDir + "pdf/1000" + order.order_id + ".pdf";

            Location = "/pdf/1000" + order.order_id + ".pdf";

            this.response    = "";
            this.ContentType = Constants.CONTENT_PDF;
        }
Example #5
0
        public override void Init(HttpListenerContext ctx = null)
        {
            HTMLFile baseFile   = FileManager.LoadFile("base.html");
            HTMLFile beheerFile = FileManager.LoadFile("blocks/beheer.html");
            HTMLFile carsFile   = FileManager.LoadFile("blocks/day_cars.html");

            if (ctx.Request.Cookies["guid"] != null &&
                Sessions.sessions.ContainsKey(
                    (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key)
                    .First()))
            {
                baseFile.AddData(new Dictionary <string, object>()
                {
                    { "account", GetUrl("myaccount") }
                });
            }
            else
            {
                Location = "/index";
                return;
            }

            string date = null;

            if (!_POST.ContainsKey("date"))
            {
                date = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
            }
            else
            {
                date = _POST["date"];
            }

            int customerID = (from s in Sessions.sessions where s.Value.Item2 == ctx.Request.Cookies["guid"].Value select s.Key).First();

            core_customer customer = DB.GetModel("core_customer").Select("*").AddFieldToFilter("customer_id", new Tuple <string, Expression>("eq", new Expression(customerID.ToString()))).AddFieldToFilter("is_admin", new Tuple <string, Expression>("eq", new Expression("1"))).Load().ToDataSet <core_customer>().First();

            if (customer == null)
            {
                Location = "/index";
                return;
            }

            sales_order_item[] items = DB.GetModel("sales_order_item").Select("*").AddFieldToFilter("hired_from", new Tuple <string, Expression>("eq", new Expression(date))).Load().ToDataSet <sales_order_item>();

            List <string> cars = new List <string>();

            foreach (sales_order_item item in items)
            {
                HTMLFile carLine = FileManager.LoadFile("blocks/day_cars_line.html");

                sales_catalog_car car          = DB.GetModel("sales_catalog_car").Select("*").AddFieldToFilter("car_id", new Tuple <string, Expression>("eq", new Expression(item.car_id.ToString()))).Load().ToDataSet <sales_catalog_car>().First();
                core_customer     itemCustomer = DB.GetModel("core_customer").Select("*").AddFieldToFilter("customer_id", new Tuple <string, Expression>("eq", new Expression(DB.GetModel("sales_flat_order").Select("*").AddFieldToFilter("order_id", new Tuple <string, Expression>("eq", new Expression(item.order_id.ToString()))).Load().ToDataSet <sales_flat_order>().First().customer_id.ToString()))).Load().ToDataSet <core_customer>().First();

                carLine.AddData(new Dictionary <string, object>()
                {
                    { "license_plate", car.car_license_plate },
                    { "brand", car.car_brand + " - " + car.car_type },
                    { "customer", itemCustomer.customer_name }
                });

                cars.Add(carLine.GetData());
            }

            carsFile.AddData(new Dictionary <string, object>()
            {
                { "cars", cars.ToArray() },
                { "date", date }
            });

            beheerFile.AddData(new Dictionary <string, object>()
            {
                { "username", customer.customer_name },
                { "content", carsFile.GetData() }
            });

            baseFile.AddData(new Dictionary <string, object>()
            {
                { "register", GetUrl("register") },
                { "login", GetUrl("login") },
                { "content", beheerFile.GetData() }
            });

            LoadBootStrap();
            this.AddCss("styles.css");
            this.AddCss("datepicker.min.css");
            this.AddJs("datepicker.min.js");

            this.Location = "";

            this.response    = baseFile.GetData();
            this.ContentType = Constants.CONTENT_HTML;
        }