示例#1
0
    private void LoadList()
    {
        string Sql =
            "Select ServiceItem From mcJobServices Where JobRno = 0 Order By ServiceSeq";
        string CurrItem = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");

        lstList.Items.Clear();

        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow r in dt.Rows)
            {
                ListItem Item = new ListItem(DB.Str(r["ServiceItem"]));
                if (Item.Value.Length > 0)
                {
                    Item.Selected = (Item.Value == CurrItem);
                    lstList.Items.Add(Item);
                }
            }

            lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Services";
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex);
            Response.Write(Err.Html());
        }
    }
示例#2
0
    private void DayHeader(DateTime dtRpt, bool fAM, bool fPM, string KitchenLocation)
    {
        int cJobs     = 0;
        int cServings = 0;

        string Sql =
            "Select Count(*) As Cnt, " +
            "(IsNull(Sum(NumMenServing), 0) + IsNull(Sum(NumWomenServing), 0) + IsNull(Sum(NumChildServing), 0)) As NumServings " +
            "From mcJobs Where JobDate = " + DB.PutDtTm(dtRpt) + " " +
            (fAM ? "And Datepart(hour, Coalesce(DepartureTime, MealTime, '1/1/1 00:00:01')) < 12 " : string.Empty) +
            (fPM ? "And Datepart(hour, Coalesce(DepartureTime, MealTime, '1/1/1 00:00:01')) >= 12 " : string.Empty) +
            "And CancelledDtTm Is Null";

        try
        {
            DataTable dt = db.DataTable(Sql);
            DataRow   dr = dt.Rows[0];
            cJobs     = DB.Int32(dr["Cnt"]);
            cServings = DB.Int32(dr["NumServings"]);
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        if (cJobs > 0)
        {
            if (fNewPage)
            {
                Response.Write(
                    "<div style='page-break-before: always;'><img width='1' height='1' src='Images/Space.gif' alt='' /></div>");
            }

            string Desc = KitchenLocation;

            Response.Write(
                //WebPage.Table("width='760' align='center'" + (fNewPage ? " style='page-break-before: always;" : "") + "'") +
                WebPage.Table("width='500' align='center'") +
                WebPage.Tabs(1) + "<tr>\n" +
                WebPage.Tabs(2) + "<td width='30%' valign='bottom'>\n" +
                WebPage.Tabs(3) + WebPage.Span(Desc, "RptNotice") + "\n" +
                WebPage.Tabs(2) + "</td>\n" +
                WebPage.Tabs(2) + "<td align='center'>\n" +
                WebPage.Tabs(3) + WebPage.Div("Production Sheets", "center", "RptTitle") +
                WebPage.Tabs(4) + WebPage.Table("class='RptSubTitleBorder' style='padding-left: 2px; padding-right: 2px;'") +
                WebPage.Tabs(5) + "<tr><td class='RptSubTitle'>" + (fAM ? "AM " : string.Empty) + (fPM ? "PM " : string.Empty) + Fmt.DayOfWeek(dtRpt) + ", " + Fmt.Dt(dtRpt) + "</td></tr>\n" +
                WebPage.Tabs(3) + WebPage.TableEnd() +
                WebPage.Tabs(2) + "</td>\n" +
                WebPage.Tabs(2) + "<td width='30%' valign='bottom' align='right'>" +
                WebPage.Span(Fmt.Num(cJobs), "RptNotice") + " Jobs, " +
                WebPage.Span(Fmt.Num(cServings), "RptNotice") + " Servings</td>\n" +
                WebPage.Tabs(1) + "</tr>\n" +
                WebPage.TableEnd() +
                WebPage.SpaceTable(1, 40)
                );

            fNewPage = true;
        }
    }
示例#3
0
    private void LoadList(bool fNext)
    {
        string Sql =
            "Select CustomerRno, Name, InactiveDtTm " +
            "From Customers c";

        if (!chkShowHidden.Checked)
        {
            Sql += " Where (InactiveDtTm Is Null)";
        }
        Sql += " Order by Name";

        string CurrItem     = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");
        string NextCurrItem = (lstList.SelectedIndex >= 0 && lstList.SelectedIndex + 1 < lstList.Items.Count ? lstList.Items[lstList.SelectedIndex + 1].Value : string.Empty);

        if (!fNext && CurrItem.Length > 0)
        {
            NextCurrItem = CurrItem;
        }

        if (!fNext && fStartHere)
        {
            NextCurrItem = StartHere;
        }

        lstList.Items.Clear();

        LoadListSql(Sql, NextCurrItem);

        lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Customers";
    }
示例#4
0
    private void LoadListSql(string Sql, string NextCurrItem)
    {
        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow r in dt.Rows)
            {
                string   userName       = DB.Str(r["userName"]);
                string   userCommonName = DB.Str(r["UserCommonName"]);
                bool     fHidden        = DB.Bool(r["DisabledFlg"]);
                ListItem Item           = new ListItem(listFormatStyle(userCommonName, userName));
                if (fHidden)
                {
                    Item.Attributes.Add("class", "Hidden");
                }

                if (Item.Value == NextCurrItem)
                {
                    Item.Selected = true;

                    userName = Item.Value;
                    GetData(userName);
                }

                lstList.Items.Add(Item);
            }

            lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Users";
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#5
0
    private void LoadList()
    {
        string Sql =
            "Select Distinct CrewMember From mcJobCrew " +
            "Where CrewMember Is Not Null Order By CrewMember";
        string CurrItem = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");

        lstList.Items.Clear();

        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow r in dt.Rows)
            {
                ListItem Item = new ListItem(DB.Str(r["CrewMember"]));
                Item.Selected = (Item.Value == CurrItem);
                lstList.Items.Add(Item);
            }

            lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Crew Members";
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex);
            Response.Write(Err.Html());
        }
    }
示例#6
0
    // prepare the SQL script to retrieve the menu category/items and then fill the list control
    private void LoadList()
    {
        string Sql       = "";
        string SqlSelect =
            "Select Distinct c.Category, c.MultSelFlg As CatMultSelFlg, c.SortOrder, " +
            "i.MenuItemRno, i.MenuItem, i.MultSelFlg, i.MultItems, i.IngredSelFlg, i.RecipeRno, " +
            "IsNull(i.CategorySortOrder, 0) As ItemSortOrder, i.ServingQuote, i.ServingPrice, i.InaccuratePriceFlg, " +
            "r.GlutenFreeFlg, r.VeganFlg, r.VegetarianFlg, r.DairyFreeFlg, r.NutsFlg " +
            "From mcJobMenuItems i Inner Join mcJobMenuCategories c On i.Category = c.Category " +
            "Left Join Recipes r on i.RecipeRno = r.RecipeRno";
        string SqlOrderBy;

        string[] aCategory = null;
        string   List      = "";

        if (rbSortCategory.Checked)
        {
            SqlOrderBy = " Order By c.SortOrder, c.Category, ItemSortOrder, i.MenuItem";
        }
        else if (rbSortCategoryAlpha.Checked)
        {
            SqlOrderBy = " Order By c.Category, ItemSortOrder, i.MenuItem";
            //aCategory = new string[] { "Meats", "Sides", "Salads", "Bread", "Desserts", "Drink" };
        }
        else
        {
            SqlOrderBy = " Order By i.MenuItem, c.Category";
        }

        string CurrItem = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");

        lstList.Items.Clear();

        if (aCategory != null)
        {
            foreach (string Category in aCategory)
            {
                Sql = SqlSelect + "Where Category = " + DB.PutStr(Category) + " And i.HideFlg != 1 " + SqlOrderBy;
                LoadListSql(Sql, CurrItem);
                List += ", '" + Category + "'";
            }

            List = List.Substring(2);
        }

        Sql = SqlSelect;
        if (List.Length > 0)
        {
            Sql += "Where Category Not In (" + List + ") ";
        }
        Sql += (Sql.IndexOf("Where") > -1 ? " And " : " Where ") + "(i.HideFlg = 0 Or i.HideFlg Is Null) And (c.HideFlg = 0 Or c.HideFlg Is Null)";
        Sql += SqlOrderBy;

        LoadListSql(Sql, CurrItem);

        lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Items";
    }
示例#7
0
    //private void LoadListSql(string Sql, string CurrItem, string NextCurrItem)
    private void LoadListSql(string Sql, string NextCurrItem)
    {
        //Response.Write("looking for [" + NextCurrItem + "]<br/>");
        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow r in dt.Rows)
            {
                string   Category = DB.Str(r["Category"]);
                string   MenuItem = DB.Str(r["MenuItem"]);
                int      Rno      = DB.Int32(r["MenuItemRno"]);
                bool     fHidden  = DB.Bool(r["HideFlg"]);
                ListItem Item     = new ListItem(Category + " - " + MenuItem, Rno.ToString());
                Item.Attributes.Add("title", Category + " - " + MenuItem);
                if (fHidden)
                {
                    Item.Attributes.Add("class", "Hidden");
                }

                /*
                 * Item.Selected = (Item.Value == CurrItem);
                 * if (Item.Selected)
                 * {
                 *      Rno = Str.Num(Item.Value);
                 *      GetData(Rno);
                 *      btnUpdate.Enabled = true;
                 *
                 *      NextCurrItem = string.Empty;
                 * }
                 * else
                 * {
                 */
                //Response.Write("Item [" + Item.Text + "]<br/>");
                if (Item.Text == NextCurrItem)
                {
                    //Response.Write("Found it [" + Item.Text + "]<br/>");
                    Item.Selected = true;

                    Rno = Str.Num(Item.Value);
                    GetData(Rno);
                    btnUpdate.Enabled   =
                        btnNext.Enabled = true;
                }
                //}

                lstList.Items.Add(Item);
            }

            lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Menu Items";
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#8
0
    private void JobInfo()
    {
        string Sql =
            "Select j.NumMenServing, j.NumWomenServing, j.NumChildServing, j.Status, j.EventType, j.ServiceType, j.Location, " +
            "j.PrintDirectionsFlg, j.LocationDirections, j.JobDate, j.MealTime, j.ArrivalTime, j.DepartureTime, j.PricePerPerson, " +
            "j.JobNotes, j." +
            "cu.Name as Customer, c.Name, c.Phone, c.Cell, c.Fax, c.Email, " +
            "From mcJobs j " +
            "Left Join Contacts c on j.ContactRno = c.ContactRno " +
            "Left Join Customers cu on c.CustomerRno = cu.CustomerRno " +
            "Where JobRno = " + JobRno;

        try
        {
            DataTable dt = db.DataTable(Sql);
            DataRow   r  = dt.Rows[0];

            Int32 cMen   = DB.Int32(r["NumMenServing"]);
            Int32 cWomen = DB.Int32(r["NumWomenServing"]);
            Int32 cChild = DB.Int32(r["NumChildServing"]);

            lblPrinted.Text   = String.Format("{0}", DateTime.Now);
            lblJobRno.Text    = JobRno.ToString();
            lblStatus.Text    = DB.Str(r["Status"]);
            lblCustomer.Text  = DB.Str(r["Customer"]);
            lblName.Text      = DB.Str(r["Name"]);
            lblPhone.Text     = DB.Str(r["Phone"]);
            lblCell.Text      = DB.Str(r["Cell"]);
            lblFax.Text       = DB.Str(r["Fax"]);
            lblEmail.Text     = DB.Str(r["Email"]);
            lblEventType.Text = DB.Str(r["EventType"]);
            lblServType.Text  = DB.Str(r["ServiceType"]);
            lblLocation.Text  = DB.Str(r["Location"]);
            if (DB.Bool(r["PrintDirectionsFlg"]))
            {
                lblDirections.Text = DB.Str(r["LocationDirections"]).Replace("\n", "<br>");
            }
            lblJobDate.Text         = Fmt.Dt(DB.DtTm(r["JobDate"]));
            lblMealTime.Text        = Fmt.Tm12Hr(DB.DtTm(r["MealTime"]));
            lblArrivalTime.Text     = Fmt.Tm12Hr(DB.DtTm(r["ArrivalTime"]));
            lblDepartureTime.Text   = Fmt.Tm12Hr(DB.DtTm(r["DepartureTime"]));
            lblNumServing.Text      = Fmt.Num(cMen + cWomen + cChild);
            lblNumMenServing.Text   = Fmt.Num(cMen);
            lblNumWomenServing.Text = Fmt.Num(cWomen);
            lblNumChildServing.Text = Fmt.Num(cChild);
            lblPricePerPerson.Text  = Fmt.Dollar(DB.Dec(r["PricePerPerson"]), false);
            lblJobNotes.Text        = DB.Str(r["JobNotes"]);
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#9
0
文件: WebPage.cs 项目: RussPete/Admin
    public void JobSubPage(string PageName)
    {
        Int32  JobRno      = Str.Num((String)Session["JobRno"]);
        string Sql         = "";
        string Customer    = "";
        string JobDate     = "";
        string EventType   = "";
        string ServiceType = "";
        string NumServings = "";

        try
        {
            Sql =
                "Select Coalesce(cu.Name, c.Name) as Customer, JobDate, EventType, ServiceType, " +
                "IsNull(NumMenServing, 0) + IsNull(NumWomenServing, 0) + IsNull(NumChildServing, 0) As NumServings " +
                "From mcJobs j " +
                "Inner Join Contacts c on j.ContactRno = c.ContactRno " +
                "Left Join Customers cu on c.CustomerRno = cu.CustomerRno " +
                "Where JobRno = " + JobRno;
            DB        db = new DB();
            DataTable dt = db.DataTable(Sql);
            if (dt.Rows.Count > 0)
            {
                DataRow r = dt.Rows[0];
                Customer         = DB.Str(r["Customer"]);
                JobDate          = Fmt.Dt(DB.DtTm(r["JobDate"]));
                EventType        = DB.Str(r["EventType"]);
                ServiceType      = DB.Str(r["ServiceType"]);
                this.NumServings = DB.Int32(r["NumServings"]);
                NumServings      = Fmt.Num(this.NumServings);
            }
            db.Close();
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        string Html =
            "<table cellspacing=\"0\" cellpadding=\"0\" align=\"center\" border=\"0\" width=\"100%\" class=\"JobInfo\">\n" +
            "	<tr>\n"+
            "		<td colspan=\"2\" align=\"center\"><span class=\"FeatureMain\">"+ PageName + "</span></td>\n" +
            "	</tr>\n"+
            "	<tr>\n"+
            "		<td>"+ JobDate + "&nbsp;&nbsp;" + Customer + "&nbsp;&nbsp;&nbsp;<span class=\"JobInfoTitle\">Job #</span>" + JobRno + "</td>\n" +
            "		<td align=\"right\">"+ "<span class=\"JobInfoTitle\">Event:</span> " + EventType + "&nbsp;&nbsp;&nbsp;<span class=\"JobInfoTitle\">Service:</span> " + ServiceType + "&nbsp;&nbsp;&nbsp;<span class=\"JobInfoTitle\">Servings:</span> " + NumServings + "</td>\n" +
            "	</tr>\n"+
            "	<tr><td><img height=\"10\" src=\""+ Images + "/Space.gif\" width=\"1\" alt=\"\" /></td></tr>\n" +
            "</table>\n";

        Response.Write(Html);
    }
示例#10
0
    private void LoadShoppingList()
    {
        string Sql =
            "Select s.ShoppingListRno, s.BegDt, v.Name As Vendor  " +
            "From ShoppingLists s Inner Join Vendors v On s.VendorRno = v.VendorRno";

        Sql += " Order by " + (rbShoppingDate.Checked ? "s.BegDt, v.Name" : "v.Name, s.BegDt");

        string CurrItem = (lstShoppingList.SelectedIndex >= 0 ? lstShoppingList.SelectedItem.Value : "");

        lstShoppingList.Items.Clear();

        LoadShoppingListSql(Sql, CurrItem);

        lblShoppingRecCount.Text = Fmt.Num(lstShoppingList.Items.Count, true) + " Shopping Lists";

        //btnSave.Enabled = (CurrItem.Length > 0);
    }
示例#11
0
    private void LoadList()
    {
        string Sql =
            "Select p.PurchaseRno, p.PurchaseDt, v.Name As Vendor  " +
            "From Purchases p Inner Join Vendors v On p.VendorRno = v.VendorRno";

        Sql += " Order by " + (rbDate.Checked ? "p.PurchaseDt Desc, v.Name" : "v.Name, p.PurchaseDt Desc");

        string CurrItem = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");

        lstList.Items.Clear();

        LoadListSql(Sql, CurrItem);

        lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Purchases";

        //btnSave.Enabled = (CurrItem.Length > 0);
    }
示例#12
0
    protected void GetData(int Rno)
    {
        string Sql = string.Format("Select * From Settings Where SettingRno = {0}", Rno);

        ClearData();

        try
        {
            DataTable dt = db.DataTable(Sql);
            if (dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];

                hfRno.Value                 = Rno.ToString();
                txtSubTotTaxPct.Text        = Fmt.Num(DB.Dec(dr["SubTotTaxPct"]), 4, false);
                txtServiceSubTotPct.Text    = Fmt.Num(DB.Dec(dr["ServiceSubTotPct"]), 4, false);
                txtServiceTaxPct.Text       = Fmt.Num(DB.Dec(dr["ServiceTaxPct"]), 4, false);
                txtDeliverySubTotPct.Text   = Fmt.Num(DB.Dec(dr["DeliverySubTotPct"]), 4, false);
                txtDeliveryTaxPct.Text      = Fmt.Num(DB.Dec(dr["DeliveryTaxPct"]), 4, false);
                txtChinaSubTotPct.Text      = Fmt.Num(DB.Dec(dr["ChinaSubTotPct"]), 4, false);
                txtChinaTaxPct.Text         = Fmt.Num(DB.Dec(dr["ChinaTaxPct"]), 4, false);
                txtAddServiceSubTotPct.Text = Fmt.Num(DB.Dec(dr["AddServiceSubTotPct"]), 4, false);
                txtAddServiceTaxPct.Text    = Fmt.Num(DB.Dec(dr["AddServiceTaxPct"]), 4, false);
                txtFuelTravelSubTotPct.Text = Fmt.Num(DB.Dec(dr["FuelTravelSubTotPct"]), 4, false);
                txtFuelTravelTaxPct.Text    = Fmt.Num(DB.Dec(dr["FuelTravelTaxPct"]), 4, false);
                txtFacilitySubTotPct.Text   = Fmt.Num(DB.Dec(dr["FacilitySubTotPct"]), 4, false);
                txtFacilityTaxPct.Text      = Fmt.Num(DB.Dec(dr["FacilityTaxPct"]), 4, false);
                txtGratuitySubTotPct.Text   = Fmt.Num(DB.Dec(dr["GratuitySubTotPct"]), 4, false);
                txtGratuityTaxPct.Text      = Fmt.Num(DB.Dec(dr["GratuityTaxPct"]), 4, false);
                txtRentalsSubTotPct.Text    = Fmt.Num(DB.Dec(dr["RentalsSubTotPct"]), 4, false);
                txtRentalsTaxPct.Text       = Fmt.Num(DB.Dec(dr["RentalsTaxPct"]), 4, false);
                txtAdj1TaxPct.Text          = Fmt.Num(DB.Dec(dr["Adj1TaxPct"]), 4, false);
                txtAdj2TaxPct.Text          = Fmt.Num(DB.Dec(dr["Adj2TaxPct"]), 4, false);
                txtCCFeePct.Text            = Fmt.Num(DB.Dec(dr["CCFeePct"]), 4, false);
                txtCCFeeTaxPct.Text         = Fmt.Num(DB.Dec(dr["CCFeeTaxPct"]), 4, false);
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#13
0
    private void LoadList(bool fNext)
    {
        string Sql =
            "Select VendorRno, Name, HideFlg " +
            "From Vendors v";

        if (!chkShowHidden.Checked)
        {
            Sql += " Where (HideFlg = 0 Or HideFlg Is Null)";
        }
        Sql += " Order by Name";

        string CurrItem     = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");
        string NextCurrItem = (lstList.SelectedIndex >= 0 && lstList.SelectedIndex + 1 < lstList.Items.Count ? lstList.Items[lstList.SelectedIndex + 1].Value : string.Empty);

        if (!fNext && CurrItem.Length > 0)
        {
            NextCurrItem = CurrItem;
        }

        //Response.Write("fStartHere " + fStartHere + "<br/>");
        // if a place to start
        if (!fNext && fStartHere)
        {
            NextCurrItem = StartHere;
            //Response.Write("Start Here [" + StartHere + "]<br/>");
        }

        //if (lstList.SelectedIndex >= 0) Response.Write("Curr " + lstList.SelectedItem.Value + "<br/>");
        lstList.Items.Clear();

        //Response.Write(Sql + "<br/>");
        LoadListSql(Sql, NextCurrItem);

        lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Vendors";

        //btnUpdate.Enabled = (CurrItem.Length > 0);
    }
示例#14
0
    private void LoadListSql(string Sql, string NextCurrItem)
    {
        //Response.Write("looking for [" + NextCurrItem + "]<br/>");
        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow dr in dt.Rows)
            {
                Int32    Rno     = DB.Int32(dr["IngredRno"]);
                String   Name    = DB.Str(dr["Name"]);
                bool     fHidden = DB.Bool(dr["HideFlg"]);
                ListItem Item    = new ListItem(Name, Rno.ToString());
                if (fHidden)
                {
                    Item.Attributes.Add("class", "Hidden");
                }

                if (Item.Text == NextCurrItem)
                {
                    Item.Selected = true;

                    Rno = Str.Num(Item.Value);
                    GetData(Rno);
                    btnUpdate.Enabled   =
                        btnNext.Enabled = true;
                }

                lstList.Items.Add(Item);
            }

            lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Items";
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#15
0
    private void LoadListSql(string Sql, string NextCurrItem)
    {
        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow r in dt.Rows)
            {
                string   Category = DB.Str(r["Category"]);
                bool     fHidden  = DB.Bool(r["HideFlg"]);
                ListItem Item     = new ListItem(Category);
                if (fHidden)
                {
                    Item.Attributes.Add("class", "Hidden");
                }

                if (Item.Value == NextCurrItem)
                {
                    Item.Selected = true;

                    Category = Item.Value;
                    GetData(Category);
                    //btnUpdate.Enabled =
                    //btnNext.Enabled = true;
                }


                lstList.Items.Add(Item);
            }

            lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Categories";
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        db = new DB();

        Session["Menu"] = WebPage.MenuSetup.Title;
        Pg = new WebPage("Images");
        Pg.CheckLogin(Path.GetFileNameWithoutExtension(Page.AppRelativeVirtualPath));

        // Put user code to initialize the page here
        if (!Page.IsPostBack)
        {
            tblRpt.Visible = false;

            string Sql = "Select QuoteDiffPct From Settings";
            try
            {
                decimal DiffPct = db.SqlDec(Sql);
                if (DiffPct == 0)
                {
                    DiffPct = 15;
                }

                txtDiffPct.Text = Fmt.Num(DiffPct, 0);
            }
            catch (Exception Ex)
            {
                Err Err = new Err(Ex, Sql);
                Response.Write(Err.Html());
            }
        }
        else
        {
            tblRpt.Visible = true;
            fields.Visible = false;
            ProcessReport();
        }
    }
示例#17
0
    private void LoadList(bool fNext)
    {
        string Sql =
            "Select UnitRno, UnitSingle, UnitPlural, HideFlg " +
            "From Units ";
        string SqlWhere = (chkShowHidden.Checked ? string.Empty : "IsNull(HideFlg, 0) = 0");

        Sql += DB.Where(SqlWhere);
        Sql += " Order by UnitSingle";

        string CurrItem     = (lstList.SelectedIndex >= 0 ? lstList.SelectedItem.Value : "");
        string NextCurrItem = (lstList.SelectedIndex >= 0 && lstList.SelectedIndex + 1 < lstList.Items.Count ? lstList.Items[lstList.SelectedIndex + 1].Value : string.Empty);

        if (!fNext && CurrItem.Length > 0)
        {
            NextCurrItem = CurrItem;
        }

        //Response.Write("fStartHere " + fStartHere + "<br/>");
        // if a place to start
        if (!fNext && fStartHere)
        {
            NextCurrItem = StartHere;
            //Response.Write("Start Here [" + StartHere + "]<br/>");
        }

        //if (lstList.SelectedIndex >= 0) Response.Write("Curr " + lstList.SelectedItem.Value + "<br/>");
        lstList.Items.Clear();

        //Response.Write(Sql + "<br/>");
        LoadListSql(Sql, NextCurrItem);

        lblRecCount.Text = Fmt.Num(lstList.Items.Count, true) + " Units";

        //btnUpdate.Enabled = (CurrItem.Length > 0);
    }
示例#18
0
    protected void Supplies()
    {
        string Sql =
            "Select * From mcJobSupplies " +
            "Where JobRno = " + JobRno + " " +
            "Order By SupplySeq";

        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow r in dt.Rows)
            {
                string Html =
                    "<tr>\n" +
                    "\t<td valign=\"top\" class=\"JobItem\">" + DB.Str(r["SupplyItem"]) + "</d>\n" +
                    "\t<td></td>\n" +
                    "\t<td valign=\"top\" align=\"right\">" + Fmt.Num(DB.Int32(r["Qty"]), false) + "</d>\n" +
                    "</tr>\n";

                string Note = DB.Str(r["Note"]);
                if (Note.Length > 0)
                {
                    Html +=
                        "<tr>\n" +
                        "\t<td colspan=\"3\" align=\"right\"><i>" + Note + "</i></td>\n" +
                        "</tr>\n";
                }
                Response.Write(Html);
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#19
0
    protected void GetData(int Rno)
    {
        string Sql = string.Format("Select * From Settings Where SettingRno = {0}", Rno);

        ClearData();

        try
        {
            DataTable dt = db.DataTable(Sql);
            if (dt.Rows.Count > 0)
            {
                DataRow dr = dt.Rows[0];

                hfRno.Value             = Rno.ToString();
                txtBaseCostPct.Text     = Fmt.Num(DB.Dec(dr["BaseCostPct"]), 4);
                txtAsIsBaseCostPct.Text = Fmt.Num(DB.Dec(dr["AsIsBaseCostPct"]), 4);
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#20
0
    private void LoadShowSupply(Table tblShowSupplies, int iRow, int iSupply, DataRow dr)
    {
        TableRow tr = tblShowSupplies.Rows[iRow];

        CheckBox chkInclude = (CheckBox)tr.FindControl("chkInclude" + iSupply);

        chkInclude.Checked = DB.Bool(dr["InJob"]);

        Label lblSupplySeq = (Label)tr.FindControl("lblSupplySeq" + iSupply);

        lblSupplySeq.Text = Convert.ToString(DB.Int32(dr["SupplySeq"]));

        Label lblSupplyItem = (Label)tr.FindControl("lblSupplyItem" + iSupply);

        lblSupplyItem.Text = DB.Str(dr["SupplyItem"]);

        TextBox txtQty = (TextBox)tr.FindControl("txtQty" + iSupply);

        txtQty.Text = Fmt.Num(DB.Int32(dr["Qty"]), false);

        TextBox txtNote = (TextBox)tr.FindControl("txtNote" + iSupply);

        txtNote.Text = DB.Str(dr["Note"]);
    }
示例#21
0
    protected void ReadValues()
    {
        ClearValues();

        String Sql =
            "Select j.SubTotTaxPct, j.Adj1Desc, j.Adj2Desc, j.ServiceAmt, j.DeliveryAmt, j.ChinaAmt, j.AddServiceAmt, j.FuelTravelAmt, " +
            "j.FacilityAmt, j.RentalsAmt, j.Adj1Amt, j.Adj2Amt, j.DepositAmt, j.ServiceTaxPct, j.DeliveryTaxPct, j.ChinaTaxPct, " +
            "j.AddServiceTaxPct, j.FuelTravelTaxPct, j.FacilityTaxPct, j.RentalsTaxPct, j.Adj1TaxPct, j.Adj2TaxPct, j.ServicePropDesc, " +
            "j.DeliveryPropDesc, j.ChinaPropDesc, j.AddServicePropDesc, j.FuelTravelPropDesc, j.FacilityPropDesc, j.RentalsPropDesc, " +
            "j.Adj1PropDesc, j.Adj2PropDesc, j.EstTotPropDesc, j.DepositPropDesc, j.SalesTaxTotAmt, j.InvTotAmt, j.InvBalAmt, j.ServicePropDescCustFlg, " +
            "j.DeliveryPropDescCustFlg, j.ChinaPropDescCustFlg, j.AddServicePropDescCustFlg, j.FuelTravelPropDescCustFlg, " +
            "j.FacilityPropDescCustFlg, j.RentalsPropDescCustFlg, j.EstTotPropDescCustFlg, j.DepositPropDescCustFlg, j.ServicePropOptions, " +
            "j.DeliveryPropOptions, j.ChinaPropOptions, j.AddServicePropOptions, j.FuelTravelPropOptions, j.FacilityPropOptions, " +
            "j.RentalsPropOptions, j.EstTotPropOptions, j.DepositPropOptions, j.NumMenServing, j.NumWomenServing, j.NumChildServing, " +
            "j.ProposalFlg, j.PropCreatedDtTm, j.PropEmailedDtTm, j.ConfirmEmailedDtTm, j.JobType, c.Email, j.PropCreatedUser, " +
            "j.PropUpdatedDtTm, j.PropUpdatedUser, j.PropGeneratedDtTm, j.PropGeneratedUser, j.PropEmailedUser, j.ConfirmEmailedUser " +
            "From mcJobs j " +
            "Inner Join Contacts c on j.ContactRno = c.ContactRno " +
            "Where JobRno = " + JobRno;

        try
        {
            DataRow dr = db.DataRow(Sql);
            if (dr != null)
            {
                //decimal SalesTax = 0;
                //decimal Total = 0;
                string Default = string.Empty;
                string Zero    = Fmt.Dollar(0);

                decimal SubTotTaxPct = DB.Dec(dr["SubTotTaxPct"]);

                // prices
                Sql = string.Format("Select * From JobInvoicePrices Where JobRno = {0} Order By Seq", JobRno);
                DataTable dtPrices = db.DataTable(Sql);
                foreach (DataRow drPrice in dtPrices.Rows)
                {
                    int    Rno       = DB.Int32(drPrice["Rno"]);
                    string PriceType = DB.Str(drPrice["PriceType"]);
                    //string PriceDesc = string.Empty;
                    int     Count    = 0;
                    decimal Price    = 0;
                    decimal ExtPrice = 0;
                    string  FmtPrice = string.Empty;
                    //string Desc = string.Empty;
                    string PropDesc    = string.Empty;
                    bool   fCustomized = false;
                    Default = string.Empty;
                    string Options = string.Empty;

                    switch (PriceType)
                    {
                    case Misc.cnPerPerson:
                        Count = DB.Int32(drPrice["InvPerPersonCount"]);
                        Price = DB.Dec(drPrice["InvPerPersonPrice"]);
                        //ExtPrice = Count * Price;
                        ExtPrice = DB.Dec(drPrice["InvPerPersonExtPrice"]);
                        FmtPrice = Fmt.Dollar(Price);
                        //Desc = DB.Str(drPrice["InvPerPersonDesc"]);
                        //PriceDesc = string.Format("Price per person: {0}", FmtPrice);
                        PropDesc    = DB.Str(drPrice["PropPerPersonDesc"]);
                        fCustomized = DB.Bool(drPrice["PropPerPersonDescCustFlg"]);
                        Options     = DB.Str(drPrice["PropPerPersonOptions"]);
                        Default     = string.Format("Price per person: {0}", FmtPrice);
                        if (!fCustomized && PropDesc.Length > 0 && FmtPrice != Zero)
                        {
                            PropDesc = Default;
                        }
                        break;

                    case Misc.cnPerItem:
                        Count = DB.Int32(drPrice["InvPerItemCount"]);
                        Price = DB.Dec(drPrice["InvPerItemPrice"]);
                        //ExtPrice = Count * Price;
                        ExtPrice = DB.Dec(drPrice["InvPerItemExtPrice"]);
                        FmtPrice = Fmt.Dollar(Count * Price);
                        //Desc = DB.Str(drPrice["InvPerItemDesc"]);
                        //PriceDesc = string.Format("{0} {1} @ {2} per item",
                        //	Fmt.Num(Count),
                        //	Desc,
                        //	Fmt.Dollar(Price));
                        PropDesc    = DB.Str(drPrice["PropPerItemDesc"]);
                        fCustomized = DB.Bool(drPrice["PropPerItemDescCustFlg"]);
                        PriceType   = string.Format("{0} {1}", Count, DB.Str(drPrice["InvPerItemDesc"]));
                        Default     = string.Format("{0}: {1}", PriceType, FmtPrice);
                        if (!fCustomized && PropDesc.Length > 0 && FmtPrice != Zero)
                        {
                            PropDesc = Default;
                        }
                        break;

                    case Misc.cnAllIncl:
                        Count = 1;
                        Price = DB.Dec(drPrice["InvAllInclPrice"]);
                        //ExtPrice = Price - (Price * (1 - 1 / (1 + SubTotTaxPct / 100)));
                        ExtPrice = DB.Dec(drPrice["InvAllInclExtPrice"]);
                        FmtPrice = Fmt.Dollar(Price);
                        //Desc = DB.Str(drPrice["InvAllInclDesc"]);
                        //PriceDesc = string.Format("All inclusive {0} @ {1}",
                        //	Desc,
                        //	Fmt.Dollar(Price));
                        PropDesc    = DB.Str(drPrice["PropAllInclDesc"]);
                        fCustomized = DB.Bool(drPrice["PropAllInclDescCustFlg"]);
                        PriceType   = DB.Str(drPrice["InvAllInclDesc"]);
                        Default     = string.Format("{0}: {1}", PriceType, FmtPrice);
                        if (!fCustomized && PropDesc.Length > 0 && FmtPrice != Zero)
                        {
                            PropDesc = Default;
                        }
                        break;
                    }

                    //if (PropDesc.Length > 0)
                    {
                        HtmlGenericControl tr = new HtmlGenericControl("tr");

                        HtmlGenericControl td = new HtmlGenericControl("td");
                        td.Attributes.Add("align", "right");
                        td.InnerHtml = string.Format("{0} (<span class=\"Amt\">{1}</span>)", PriceType, FmtPrice);
                        tr.Controls.Add(td);

                        td = new HtmlGenericControl("td");

                        HtmlTextArea txt = new HtmlTextArea();
                        txt.ID = string.Format("txtPrice_{0}", Rno);
                        txt.Attributes.Add("class", "FeeDesc");
                        txt.Attributes.Add("data-default", Default);
                        txt.Value = PropDesc;
                        td.Controls.Add(txt);

                        HtmlInputHidden hf = new HtmlInputHidden();
                        hf.ID    = string.Format("hfPriceCustomized_{0}", Rno);
                        hf.Value = Customized(fCustomized);
                        td.Controls.Add(hf);

                        HtmlGenericControl ul = new HtmlGenericControl("ul");
                        ul.ID = string.Format("ulPrice_{0}", Rno);
                        ul.Attributes.Add("class", "Options");
                        td.Controls.Add(ul);

                        RenderOptions(ul, PerPerson, Options);

                        tr.Controls.Add(td);
                        td = new HtmlGenericControl("td");

                        HtmlGenericControl lbl = new HtmlGenericControl("label");
                        lbl.Attributes.Add("class", "Reset");
                        lbl.Attributes.Add("title", "Click to reset the description and show all the options.");
                        lbl.InnerText = "Undo Custom";
                        td.Controls.Add(lbl);

                        lbl = new HtmlGenericControl("label");
                        lbl.Attributes.Add("class", "SeeOptions");
                        lbl.InnerText = "click Undo Custom to see available options";
                        td.Controls.Add(lbl);

                        tr.Controls.Add(td);
                        phPrices.Controls.Add(tr);
                    }

                    //Total += ExtPrice;
                }

                //SalesTax += Math.Round(Total * SubTotTaxPct / 100, 2);

                lblAdj1Desc.Text = DB.Str(dr["Adj1Desc"]);
                lblAdj2Desc.Text = DB.Str(dr["Adj2Desc"]);

                decimal ServiceAmt    = DB.Dec(dr["ServiceAmt"]);
                decimal DeliveryAmt   = DB.Dec(dr["DeliveryAmt"]);
                decimal ChinaAmt      = DB.Dec(dr["ChinaAmt"]);
                decimal AddServiceAmt = DB.Dec(dr["AddServiceAmt"]);
                decimal FuelTravelAmt = DB.Dec(dr["FuelTravelAmt"]);
                decimal FacilityAmt   = DB.Dec(dr["FacilityAmt"]);
                decimal RentalsAmt    = DB.Dec(dr["RentalsAmt"]);
                decimal Adj1Amt       = DB.Dec(dr["Adj1Amt"]);
                decimal Adj2Amt       = DB.Dec(dr["Adj2Amt"]);
                decimal DepositAmt    = DB.Dec(dr["DepositAmt"]);

                decimal ServicePct    = DB.Dec(dr["ServiceTaxPct"]);
                decimal DeliveryPct   = DB.Dec(dr["DeliveryTaxPct"]);
                decimal ChinaPct      = DB.Dec(dr["ChinaTaxPct"]);
                decimal AddServicePct = DB.Dec(dr["AddServiceTaxPct"]);
                decimal FuelTravelPct = DB.Dec(dr["FuelTravelTaxPct"]);
                decimal FacilityPct   = DB.Dec(dr["FacilityTaxPct"]);
                decimal RentalsPct    = DB.Dec(dr["RentalsTaxPct"]);
                decimal Adj1Pct       = DB.Dec(dr["Adj1TaxPct"]);
                decimal Adj2Pct       = DB.Dec(dr["Adj2TaxPct"]);

                lblServiceAmt.Text    = Fmt.Dollar(ServiceAmt);
                lblDeliveryAmt.Text   = Fmt.Dollar(DeliveryAmt);
                lblChinaAmt.Text      = Fmt.Dollar(ChinaAmt);
                lblAddServiceAmt.Text = Fmt.Dollar(AddServiceAmt);
                lblFuelTravelAmt.Text = Fmt.Dollar(FuelTravelAmt);
                lblFacilityAmt.Text   = Fmt.Dollar(FacilityAmt);
                lblRentalsAmt.Text    = Fmt.Dollar(RentalsAmt);
                lblAdj1Amt.Text       = Fmt.Dollar(Adj1Amt);
                lblAdj2Amt.Text       = Fmt.Dollar(Adj2Amt);
                lblDepositAmt.Text    = Fmt.Dollar(DepositAmt);

                txtServiceDesc.Text    = DB.Str(dr["ServicePropDesc"]);
                txtDeliveryDesc.Text   = DB.Str(dr["DeliveryPropDesc"]);
                txtChinaDesc.Text      = DB.Str(dr["ChinaPropDesc"]);
                txtAddServiceDesc.Text = DB.Str(dr["AddServicePropDesc"]);
                txtFuelTravelDesc.Text = DB.Str(dr["FuelTravelPropDesc"]);
                txtFacilityDesc.Text   = DB.Str(dr["FacilityPropDesc"]);
                txtRentalsDesc.Text    = DB.Str(dr["RentalsPropDesc"]);
                txtAdj1Desc.Text       = DB.Str(dr["Adj1PropDesc"]);
                txtAdj2Desc.Text       = DB.Str(dr["Adj2PropDesc"]);
                txtTotalDesc.Text      = DB.Str(dr["EstTotPropDesc"]);
                txtDepositDesc.Text    = DB.Str(dr["DepositPropDesc"]);

                //SalesTax +=
                //	Math.Round(ServiceAmt		* ServicePct	/ 100, 2) +
                //	Math.Round(DeliveryAmt		* DeliveryPct	/ 100, 2) +
                //	Math.Round(ChinaAmt			* ChinaPct		/ 100, 2) +
                //	Math.Round(AddServiceAmt	* AddServicePct / 100, 2) +
                //	Math.Round(FuelTravelAmt	* FuelTravelPct / 100, 2) +
                //	Math.Round(FacilityAmt		* FacilityPct	/ 100, 2) +
                //	Math.Round(RentalsAmt		* RentalsPct	/ 100, 2) +
                //	Math.Round(Adj1Amt			* Adj1Pct		/ 100, 2) +
                //	Math.Round(Adj2Amt			* Adj2Pct		/ 100, 2);

                //Total +=
                //	ServiceAmt +
                //	DeliveryAmt +
                //	ChinaAmt +
                //	AddServiceAmt +
                //	FuelTravelAmt +
                //	FacilityAmt +
                //	RentalsAmt +
                //	Adj1Amt +
                //	Adj2Amt;

                //bool fTaxExempt = DB.Bool(dr["TaxExemptFlg"]);
                //if (!fTaxExempt)
                //{
                //	Total += SalesTax;
                //}

                //bool fCreditCardPaymentFee = DB.Bool(dr["CCPmtFeeFlg"]);
                //if (fCreditCardPaymentFee)
                //{
                //	decimal CreditCardFeePct = DB.Dec(dr["CCFeePct"]);
                //	decimal CreditCardFeeAmt = Math.Round(Total * CreditCardFeePct / 100, 2);
                //	decimal CreditCardFeeTaxPct = DB.Dec(dr["CCFeeTaxPct"]);
                //	decimal CreditCardFeeTaxAmt = 0;
                //	if (!fTaxExempt)
                //	{
                //		CreditCardFeeTaxAmt = Math.Round(CreditCardFeeAmt * CreditCardFeeTaxPct / 100, 2);
                //	}

                //	SalesTax += CreditCardFeeTaxAmt;
                //	Total += CreditCardFeeAmt + CreditCardFeeTaxAmt;
                //}

                decimal SalesTax = DB.Dec(dr["SalesTaxTotAmt"]);
                decimal Total    = DB.Dec(dr["InvTotAmt"]);
                decimal Balance  = Total - DepositAmt; // DB.Dec(dr["InvBalAmt"]);

                bool fServiceCustomized    = DB.Bool(dr["ServicePropDescCustFlg"]);
                bool fDeliveryCustomized   = DB.Bool(dr["DeliveryPropDescCustFlg"]);
                bool fChinaCustomized      = DB.Bool(dr["ChinaPropDescCustFlg"]);
                bool fAddServiceCustomized = DB.Bool(dr["AddServicePropDescCustFlg"]);
                bool fFuelTravelCustomized = DB.Bool(dr["FuelTravelPropDescCustFlg"]);
                bool fFacilityCustomized   = DB.Bool(dr["FacilityPropDescCustFlg"]);
                bool fRentalsCustomized    = DB.Bool(dr["RentalsPropDescCustFlg"]);
                bool fTotalCustomized      = DB.Bool(dr["EstTotPropDescCustFlg"]);
                bool fDepositCustomized    = DB.Bool(dr["DepositPropDescCustFlg"]);

                string ServiceOptions    = DB.Str(dr["ServicePropOptions"]);
                string DeliveryOptions   = DB.Str(dr["DeliveryPropOptions"]);
                string ChinaOptions      = DB.Str(dr["ChinaPropOptions"]);
                string AddServiceOptions = DB.Str(dr["AddServicePropOptions"]);
                string FuelTravelOptions = DB.Str(dr["FuelTravelPropOptions"]);
                string FacilityOptions   = DB.Str(dr["FacilityPropOptions"]);
                string RentalsOptions    = DB.Str(dr["RentalsPropOptions"]);
                string TotalOptions      = DB.Str(dr["EstTotPropOptions"]);
                string DepositOptions    = DB.Str(dr["DepositPropOptions"]);

                hfServiceCustomized.Value    = Customized(fServiceCustomized);
                hfDeliveryCustomized.Value   = Customized(fDeliveryCustomized);
                hfChinaCustomized.Value      = Customized(fChinaCustomized);
                hfAddServiceCustomized.Value = Customized(fAddServiceCustomized);
                hfFuelTravelCustomized.Value = Customized(fFuelTravelCustomized);
                hfFacilityCustomized.Value   = Customized(fFacilityCustomized);
                hfRentalsCustomized.Value    = Customized(fRentalsCustomized);
                hfTotalCustomized.Value      = Customized(fTotalCustomized);
                hfDepositCustomized.Value    = Customized(fDepositCustomized);

                //trAdj1.Visible = (lblAdj1Desc.Text.Length > 0);
                //trAdj2.Visible = (lblAdj2Desc.Text.Length > 0);

                RenderOptions(ulService, Service, ServiceOptions);
                RenderOptions(ulDelivery, Delivery, DeliveryOptions);
                RenderOptions(ulChina, China, ChinaOptions);
                RenderOptions(ulAddService, AddService, AddServiceOptions);
                RenderOptions(ulFuelTravel, FuelTravel, FuelTravelOptions);
                RenderOptions(ulFacility, Facility, FacilityOptions);
                RenderOptions(ulRentals, Rentals, RentalsOptions);

                Default = (lblServiceAmt.Text != Zero ? string.Format("{0}: {1}", DefaultService + " (gratuity not included)", lblServiceAmt.Text) : string.Empty);
                txtServiceDesc.Attributes.Add("data-default", Default);
                if (!fServiceCustomized && lblServiceAmt.Text != Zero)
                {
                    txtServiceDesc.Text = Default;
                }

                Default = (lblDeliveryAmt.Text != Zero ? string.Format("{0}: {1}", DefaultDelivery, lblDeliveryAmt.Text) : string.Empty);
                txtDeliveryDesc.Attributes.Add("data-default", Default);
                if (!fDeliveryCustomized && lblDeliveryAmt.Text != Zero)
                {
                    txtDeliveryDesc.Text = Default;
                }

                Default = (lblChinaAmt.Text != Zero ? string.Format("{0}: {1}", DefaultChina, lblChinaAmt.Text) : string.Empty);
                txtChinaDesc.Attributes.Add("data-default", Default);
                if (!fChinaCustomized && lblChinaAmt.Text != Zero)
                {
                    txtChinaDesc.Text = Default;
                }

                Default = (lblAddServiceAmt.Text != Zero ? string.Format("{0}: {1}", DefaultAddService, lblAddServiceAmt.Text) : string.Empty);
                txtAddServiceDesc.Attributes.Add("data-default", Default);
                if (!fAddServiceCustomized && lblAddServiceAmt.Text != Zero)
                {
                    txtAddServiceDesc.Text = Default;
                }

                Default = (lblFuelTravelAmt.Text != Zero ? string.Format("{0}: {1}", DefaultFuelTravel, lblFuelTravelAmt.Text) : string.Empty);
                txtFuelTravelDesc.Attributes.Add("data-default", Default);
                if (!fFuelTravelCustomized && lblFuelTravelAmt.Text != Zero)
                {
                    txtFuelTravelDesc.Text = Default;
                }

                Default = (lblFacilityAmt.Text != Zero ? string.Format("{0}: {1}", DefaultFacility, lblFacilityAmt.Text) : string.Empty);
                txtFacilityDesc.Attributes.Add("data-default", Default);
                if (!fFacilityCustomized && lblFacilityAmt.Text != Zero)
                {
                    txtFacilityDesc.Text = Default;
                }

                Default = (lblRentalsAmt.Text != Zero ? string.Format("{0}: {1}", DefaultRentals, lblRentalsAmt.Text) : string.Empty);
                txtRentalsDesc.Attributes.Add("data-default", Default);
                if (!fRentalsCustomized && lblRentalsAmt.Text != Zero)
                {
                    txtRentalsDesc.Text = Default;
                }

                Default = (lblAdj1Amt.Text != Zero ? string.Format("{0}: {1}", lblAdj1Desc.Text, lblAdj1Amt.Text) : string.Empty);
                txtAdj1Desc.Attributes.Add("data-default", Default);
                if (txtAdj1Desc.Text.Length == 0 && lblAdj1Amt.Text != Zero)
                {
                    txtAdj1Desc.Text = Default;
                }

                Default = (lblAdj2Amt.Text != Zero ? string.Format("{0}: {1}", lblAdj2Desc.Text, lblAdj2Amt.Text) : string.Empty);
                txtAdj2Desc.Attributes.Add("data-default", Default);
                if (txtAdj2Desc.Text.Length == 0 && lblAdj2Amt.Text != Zero)
                {
                    txtAdj2Desc.Text = Default;
                }

                int NumServings = DB.Int32(dr["NumMenServing"]) + DB.Int32(dr["NumWomenServing"]) + DB.Int32(dr["NumChildServing"]);
                lblTotalAmt.Text = Fmt.Dollar(Total);
                Default          = string.Format("Estimated Total: {0} - Based on {1} guests. Price per person and on-site service are subject to change as guest count changes.", Fmt.Dollar(Total), Fmt.Num(NumServings));
                txtTotalDesc.Attributes.Add("data-default", Default);
                if (!fTotalCustomized)
                {
                    txtTotalDesc.Text = Default;
                }

                Default = (lblDepositAmt.Text != Zero ? string.Format("{0}: {1}, remaining Invoice Balance: {2}", DefaultDeposit, lblDepositAmt.Text, Fmt.Dollar(Balance)) : string.Empty);
                txtDepositDesc.Attributes.Add("data-default", Default);
                if (txtDepositDesc.Text.Length == 0 && lblDepositAmt.Text != Zero)
                {
                    txtDepositDesc.Text = Default;
                }

                bool     fProposal        = DB.Bool(dr["ProposalFlg"]);
                DateTime dtPropCreated    = DB.DtTm(dr["PropCreatedDtTm"]);
                DateTime dtPropEmailed    = DB.DtTm(dr["PropEmailedDtTm"]);
                DateTime dtConfirmEmailed = DB.DtTm(dr["ConfirmEmailedDtTm"]);
                string   JobType          = DB.Str(dr["JobType"]);

                EmailType                 = (fProposal ? "Proposal" : (JobType == "Private" ? "Private Confirmation" : "Corporate Confirmation"));
                txtEmail.Text             = DB.Str(dr["Email"]);
                txtSubject.Text           = (fProposal ? (dtPropEmailed == DateTime.MinValue ? string.Empty : "Revised ") + "Proposal" : (dtConfirmEmailed == DateTime.MinValue ? string.Empty : "Revised ") + "Confirmation") + " from " + Globals.g.Company.Name;
                txtMessage.Text           = (fProposal ? "Attached is your " + (dtPropEmailed == DateTime.MinValue ? string.Empty : "revised ") + "proposal from " + Globals.g.Company.Name + ".\n\nWe appreciate your business." : (dtConfirmEmailed == DateTime.MinValue ? string.Empty : "Attached is your revised confirmation from " + Globals.g.Company.Name + ".\n\nWe appreciate your business."));
                chkTermsOfService.Checked = (JobType == "Private");

                btnEmail.Visible        = fProposal;
                btnEmailConfirm.Visible = !fProposal;

                if (dtPropCreated == DateTime.MinValue)
                {
                    btnEmail.Attributes.Add("disabled", "disabled");
                    btnEmail.Attributes.Add("title", "Save Client Pricing and then email.");
                    btnEmailConfirm.Attributes.Add("disabled", "disabled");
                    btnEmailConfirm.Attributes.Add("title", "Save Client Pricing and then email.");
                }

                if (dtPropEmailed != DateTime.MinValue)
                {
                    btnEmail.Value = "Re-Email Proposal";
                }
                if (dtConfirmEmailed != DateTime.MinValue)
                {
                    btnEmailConfirm.Value = "Re-Email Confirm";
                }

                txtCreatedDt.Text          = Fmt.DtTm(dtPropCreated);
                txtCreatedUser.Text        = DB.Str(dr["PropCreatedUser"]);
                txtUpdatedDt.Text          = Fmt.DtTm(DB.DtTm(dr["PropUpdatedDtTm"]));
                txtUpdatedUser.Text        = DB.Str(dr["PropUpdatedUser"]);
                txtGeneratedDt.Text        = Fmt.DtTm(DB.DtTm(dr["PropGeneratedDtTm"]));
                txtGeneratedUser.Text      = DB.Str(dr["PropGeneratedUser"]);
                txtPropEmailedDt.Text      = Fmt.DtTm(dtPropEmailed);
                txtPropEmailedUser.Text    = DB.Str(dr["PropEmailedUser"]);
                txtConfirmEmailedDt.Text   = Fmt.DtTm(dtConfirmEmailed);
                txtConfirmEmailedUser.Text = DB.Str(dr["ConfirmEmailedUser"]);
                pnlPreview.ToolTip         = string.Format("{0} Preview", (fProposal ? "Proposal" : "Confirmation"));
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#22
0
    protected void MenuCategory(string Category)
    {
        //FoodCategories FoodCat = new FoodCategories();
        //string Sql = String.Format(
        //    "Select Category, MenuItem, JobDate, Customer, " +
        //    "Coalesce(MealTime, ArrivalTime, DepartureTime) As JobTime, " +
        //    "NumMenServing, NumWomenServing, NumChildServing, Qty " +
        //    "From mcJobs j Inner Join mcJobFood f On j.JobRno = f.JobRno " +
        //    "Where JobDate Between {0} And {1} " +
        //    "And Category {2} " +
        //    "And CancelledDtTm Is Null " +
        //    "Order By Category, MenuItem, JobDate, JobTime, Customer",
        //    DB.PutDtTm(dtBeg),
        //    DB.PutDtTm(dtEnd),
        //    (Category.Length > 0 ?
        //    "= " + DB.PutStr(Category) :
        //    //"Not In ('Meats', 'Soup', 'Pasta', 'Sandwich', 'Appetizers', 'Sides', 'Salads', 'Bread', 'Desserts', 'Drink')"));
        //    "Not In (" + FoodCat.SqlList(FoodCategories.Type.Hot) + ", " + FoodCat.SqlList(FoodCategories.Type.Cold) + ")"));
        string Sql = String.Format(
            "Select Category, MenuItem, JobDate, Coalesce(cu.Name, c.Name) as Customer, " +
            "Coalesce(MealTime, ArrivalTime, DepartureTime) As JobTime, " +
            "NumMenServing, NumWomenServing, NumChildServing, Qty " +
            "From mcJobs j " +
            "Inner Join Contacts c On j.ContactRno = c.ContactRno " +
            "Left Join Customers cu on c.CustomerRno = cu.CustomerRno " +
            "Inner Join mcJobFood f On j.JobRno = f.JobRno " +
            "Where JobDate Between {0} And {1} " +
            "And IsNull(ProposalFlg, 0) = 0 " +
            "And CancelledDtTm Is Null " +
            "And Trim(MenuItem) <> '' " +
            "Order By Category, MenuItem, JobDate, JobTime, Customer",
            DB.PutDtTm(dtBeg),
            DB.PutDtTm(dtEnd));

        try
        {
            string PrevCategory  = null;
            string PrevMenuItem  = null;
            string FirstCategory = "First";

            DataTable dt = db.DataTable(Sql);
            for (int iRow = 0; iRow < dt.Rows.Count; iRow++)
            {
                DataRow dr = dt.Rows[iRow];
                Category = DB.Str(dr["Category"]);
                string MenuItem = GetMenuItem(ref dr);

                int Men;
                int Women;
                int Child;
                int Servings;
                int Qty;

                if (MenuItem != PrevMenuItem)
                {
                    int iBeg = iRow;
                    //int cQty = 0;
                    int cServing = 0;
                    int cMen     = 0;
                    int cWomen   = 0;
                    int cChild   = 0;
                    int cJobs    = 0;

                    PrevMenuItem = MenuItem;

                    while (MenuItem == PrevMenuItem && iRow < dt.Rows.Count)
                    {
                        Qty   = DB.Int32(dr["Qty"]);
                        Men   = DB.Int32(dr["NumMenServing"]);
                        Women = DB.Int32(dr["NumWomenServing"]);
                        Child = DB.Int32(dr["NumChildServing"]);

                        cMen     += Men;
                        cWomen   += Women;
                        cChild   += Child;
                        cServing += (Qty != 0 ? Qty : Men + Women + Child);
                        //cQty += Qty;
                        cJobs++;

                        if (++iRow < dt.Rows.Count)
                        {
                            dr       = dt.Rows[iRow];
                            MenuItem = GetMenuItem(ref dr);
                        }
                    }

                    string sClass    = (Category == PrevCategory ? "" : " class=\"" + FirstCategory + "RptCategory\"");
                    string sCategory = (Category == PrevCategory ? "" : "<b>" + Category + "</b>");

                    Response.Write(
                        WebPage.Tabs(1) + "<tr" + sClass + ">\n" +
                        WebPage.Tabs(2) + "<td>" + sCategory + "</td>\n" +
                        WebPage.Tabs(2) + "<td valign='top' align='right'><img src='Images/Diamond.gif' class='RptBullet'></td>\n" +
                        WebPage.Tabs(2) + "<td colspan='6' class='JobItem'><a href='javascript:ShowDtl(" + iDtl + ", " + (iDtl + cJobs - 1) + ");'>" + PrevMenuItem + "</a></td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td align='right' class='RptNotice'>" + Fmt.Num(cServing, false) + "</td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        //WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(cMen, false) + "</td>\n" +
                        //WebPage.Tabs(2) + "<td></td>\n" +
                        //WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(cWomen, false) + "</td>\n" +
                        //WebPage.Tabs(2) + "<td></td>\n" +
                        //WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(cChild, false) + "</td>\n" +
                        //WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td align='right' class='RptNotice'>" + Fmt.Num(cJobs, false) + "</td>\n" +
                        WebPage.Tabs(1) + "</tr>\n"
                        );

                    if (sClass != "")
                    {
                        FirstCategory = "";
                    }

                    iRow = iBeg;
                }

                dr       = dt.Rows[iRow];
                MenuItem = GetMenuItem(ref dr);
                Men      = DB.Int32(dr["NumMenServing"]);
                Women    = DB.Int32(dr["NumWomenServing"]);
                Child    = DB.Int32(dr["NumChildServing"]);
                Servings = Men + Women + Child;
                Qty      = DB.Int32(dr["Qty"]);

                Response.Write(
                    WebPage.Tabs(1) + "<tr id='Dtl" + iDtl++ + "' style='display: none;'>\n" +
                    WebPage.Tabs(2) + "<td colspan='3'></td>\n" +
                    WebPage.Tabs(2) + "<td>" + Fmt.Dt(DB.DtTm(dr["JobDate"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["JobTime"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["Customer"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num((Qty != 0 ? Qty : Servings), false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    //WebPage.Tabs(2) + "<td align='right' class='RptSmall'>" + Fmt.Num(Men, false) + "</td>\n" +
                    //WebPage.Tabs(2) + "<td></td>\n" +
                    //WebPage.Tabs(2) + "<td align='right' class='RptSmall'>" + Fmt.Num(Women, false) + "</td>\n" +
                    //WebPage.Tabs(2) + "<td></td>\n" +
                    //WebPage.Tabs(2) + "<td align='right' class='RptSmall'>" + Fmt.Num(Child, false) + "</td>\n" +
                    //WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'></td>\n" +
                    WebPage.Tabs(1) + "</tr>\n"
                    );

                PrevMenuItem = MenuItem;
                PrevCategory = Category;
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#23
0
    protected void SaveData()
    {
        int    Rno      = Str.Num(txtRno.Value);
        string Category = txtCurrCategory.Value;
        string MenuItem = txtCurrMenuItem.Value;
        string Sql      = string.Empty;

        try
        {
            // setup to check if menu items need to be merged
            Sql = string.Format("Select Count(*) From mcJobMenuItems Where Category = {0} And MenuItem = {1}", DB.PutStr(ddlCategory.Text), DB.PutStr(txtMenuItem.Text));

            // if user has said yes to merging
            if (hfMerge.Value == "true")
            {
                Sql = string.Format(
                    "Begin Transaction\n" +
                    "Update mcJobFood Set Category = {2}, MenuItem = {3} Where Category = {0} And MenuItem = {1}\n" +
                    "Delete From mcJobMenuItems Where Category = {0} And MenuItem = {1}\n" +
                    "Commit Transaction",
                    DB.PutStr(Category),
                    DB.PutStr(MenuItem),
                    DB.PutStr(ddlCategory.Text),
                    DB.PutStr(txtMenuItem.Text));
                //Response.Write("Sql " + Sql + "<br />");
                db.Exec(Sql);

                fStartHere    = true;
                StartHere     = ddlCategory.Text + " - " + txtMenuItem.Text;
                hfMerge.Value = "false";
            }
            else

            // if not a new record and the category or menu item name has changed and the new value already exists then ask if they intend to merge
            if ((Category.Length > 0 && Category != ddlCategory.Text ||
                 MenuItem.Length > 0 && MenuItem != txtMenuItem.Text) && db.SqlNum(Sql) > 0)
            {
                fMerging          = true;
                MergeMenuItem     = MenuItem;
                MergeIntoMenuItem = txtMenuItem.Text;
                MergeCategory     = Category;
                MergeIntoCategory = ddlCategory.Text;

                Sql = string.Format(
                    "Select Count(*) From mcJobFood Where Category = {0} And MenuItem = {1}",
                    DB.PutStr(Category),
                    DB.PutStr(MenuItem));
                AffectedJobs = Fmt.Num(db.SqlNum(Sql));
            }
            else             // not merging, simple update
            {
                DateTime Tm = DateTime.Now;

                // if a new menu item
                if (Rno == 0)
                {
                    // if the new menu item already exists
                    if (db.SqlNum(Sql) > 0)
                    {
                        fError   = true;
                        ErrorMsg = string.Format("There is already a menu item in this category named <b>{0}</b>. Please choose another name.", txtMenuItem.Text);
                    }
                    else
                    {
                        Sql = string.Format(
                            "Insert Into mcJobMenuItems (MenuItem, CategorySortOrder, CreatedDtTm, CreatedUser) Values " +
                            "('temp', (Select Count(*) + 1 From mcJobMenuItems Where Category = {2} And (HideFlg = 0 Or HideFlg Is Null)), {0}, {1}); Select @@Identity",
                            DB.PutDtTm(Tm),
                            DB.PutStr(g.User),
                            DB.PutStr(ddlCategory.Text));
                        Rno = db.SqlNum(Sql);

                        Category = ddlCategory.Text;
                        MenuItem = txtMenuItem.Text;
                    }
                }
                // if there wasn't an error
                if (!fError)
                {
                    Misc.SetAsIsData(Rno, chkAsIs.Checked);

                    // update the values
                    Sql = string.Format(
                        "Begin Transaction\n" +
                        "Update mcJobMenuItems Set " +
                        "Category = {1}, " +
                        "MenuItem = {2}, " +
                        "ProposalMenuItem = {3}, " +
                        "ServingQuote = {4}, " +
                        "KitchenLocRno = {5}, " +
                        "AsIsFlg = {6}, " +
                        "MultSelFlg = {7}, " +
                        "MultItems = {8}, " +
                        "IngredSelFlg = {9}, " +
                        "HideFlg = {10}, " +
                        "UpdatedDtTm = {11}, " +
                        "UpdatedUser = {12} " +
                        "Where MenuItemRno = {0}",
                        Rno,
                        DB.PutStr(ddlCategory.Text),
                        DB.PutStr(txtMenuItem.Text),
                        DB.PutStr(txtProposal.Text),
                        Str.Dec(txtServingQuote.Text),
                        ddlLocation.SelectedValue,
                        DB.PutBool(chkAsIs.Checked),
                        DB.PutBool(chkMultiSelect.Checked),
                        DB.PutStr(txtMultItems.Value),
                        DB.PutBool(chkIngredSelect.Checked),
                        DB.PutBool(chkHide.Checked),
                        DB.PutDtTm(Tm),
                        DB.PutStr(g.User));

                    // if changed, update other areas
                    if (Category != ddlCategory.Text || MenuItem != txtMenuItem.Text)
                    {
                        Sql += string.Format(
                            "Update mcJobFood Set Category = {2}, MenuItem = {3} Where Category = {0} And MenuItem = {1}\n",
                            DB.PutStr(Category),
                            DB.PutStr(MenuItem),
                            DB.PutStr(ddlCategory.Text),
                            DB.PutStr(txtMenuItem.Text));
                    }

                    Sql += "Commit Transaction";
                    //Response.Write("Sql " + Sql + "<br />");
                    db.Exec(Sql);

                    fStartHere = true;
                    StartHere  = ddlCategory.Text + " - " + txtMenuItem.Text;
                }
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#24
0
    protected void Report()
    {
        Response.Write("</head>\n<body class='RptBody'>\n");

        int cJobs     = 0;
        int cServings = 0;

        string Sql = String.Format(
            "Select Count(*) As Cnt, " +
            "(Sum(NumMenServing) + Sum(NumWomenServing) + Sum(NumChildServing)) As NumServings " +
            "From mcJobs Where JobDate Between {0} And {1} " +
            "And CancelledDtTm Is Null",
            DB.PutDtTm(dtBeg),
            DB.PutDtTm(dtEnd));

        try
        {
            DataTable dt = db.DataTable(Sql);
            DataRow   dr = dt.Rows[0];
            cJobs     = DB.Int32(dr["Cnt"]);
            cServings = DB.Int32(dr["NumServings"]);
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        string Html =
            WebPage.Table("align='center' width='100%'") +
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + "<td width='30%' valign='bottom'>\n" +
            WebPage.Tabs(2) + "</td>\n" +
            WebPage.Tabs(2) + "<td align='center'>\n" +
            WebPage.Tabs(3) + WebPage.Div("Ingedients List", "center", "RptTitle") +
            WebPage.Tabs(5) + WebPage.Div(Fmt.Dt(dtBeg) + " - " + Fmt.Dt(dtEnd), "center", "RptSubTitle") +
            WebPage.Tabs(2) + "</td>\n" +
            WebPage.Tabs(2) + "<td width='30%' valign='bottom' align='right'>" +
            WebPage.Span(Fmt.Num(cJobs), "RptNotice") + " Jobs, " +
            WebPage.Span(Fmt.Num(cServings), "RptNotice") + " Servings</td>\n" +
            WebPage.Tabs(1) + "</tr>\n" +
            WebPage.TableEnd();

        Html +=
            WebPage.Table("align='center'") +
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + "<td></td>\n" +                           // category
            WebPage.Tabs(2) + WebPage.Space(15, 15) +                   // bullet
            WebPage.Tabs(2) + WebPage.Space(20, 1) +                    // space before JobDate
            WebPage.Tabs(2) + "<td></td>\n" +                           // JobDate
            WebPage.Tabs(2) + WebPage.Space(5, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // JobTime
            WebPage.Tabs(2) + WebPage.Space(5, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // customer
            WebPage.Tabs(2) + WebPage.Space(10, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // # jobs
            WebPage.Tabs(2) + WebPage.Space(20, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // # servings
            WebPage.Tabs(2) + WebPage.Space(10, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // per serving qty
            WebPage.Tabs(2) + WebPage.Space(10, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // purchase qty
            WebPage.Tabs(2) + WebPage.Space(10, 1) +
            WebPage.Tabs(2) + "<td></td>\n" +                           // Vendor / Store Notes
            WebPage.Tabs(1) + "</tr>\n";

        Html +=
            WebPage.Tabs(1) + "<tr><td colspan='18' align='center'><span class='RptInfo'>Click an ingredient name to show or hide job details for that item.</span></td></tr>\n" +
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + "<td colspan='8'>\n" +
            WebPage.Tabs(2) + "<td></td>\n" +
            WebPage.Tabs(2) + "<td align='right' class='RptHdrBold'><b># Jobs</b></td>\n" +
            WebPage.Tabs(2) + "<td></td>\n" +
            WebPage.Tabs(2) + "<td align='right' class='RptHdrBold'><b># Servings</b></td>\n" +
            WebPage.Tabs(2) + "<td></td>\n" +
            WebPage.Tabs(2) + "<td align='right' class='RptHdrBold'><b>Per Serving Qty</b></td>\n" +
            WebPage.Tabs(2) + "<td></td>\n" +
            WebPage.Tabs(2) + "<td align='right' class='RptHdrBold'><b>Purchase Qty</b></td>\n" +
            WebPage.Tabs(2) + "<td></td>\n" +
            WebPage.Tabs(2) + "<td align='center' class='RptHdrBold'><b>Vendor / Store Notes</b></td>\n" +
            WebPage.Tabs(1) + "</tr>\n";

        Response.Write(Html);

        GetShoppingList();

        Response.Write(
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + WebPage.Space(1, 30) +
            WebPage.Tabs(1) + "</tr>\n" +
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + "<td colspan='2'></td>\n" +
            WebPage.Tabs(2) + "<td colspan='14'>\n" +
            WebPage.Tabs(3) + "<input type=button value='Show Details' title='Click to show job details for all items.' onClick='ShowAll();' class='RptSmallBtn'>\n" +
            WebPage.Tabs(3) + "<input type=button value='Hide Details' title='Click to hide job details for all items.' onClick='HideAll();' class='RptSmallBtn'>\n" +
            WebPage.Tabs(2) + "</td>\n" +
            WebPage.Tabs(1) + "</tr>\n" +
            WebPage.TableEnd() +
            "<script lang='javascript'>var iEndDtl = " + --iDtl + ";</script>\n"
            );
    }
示例#25
0
    protected void PrintJobs()
    {
        DateTime PrevDate = DateTime.MinValue;
        int      cDays    = 0;
        int      cJobs    = 0;
        int      cServ    = 0;

        string SqlWhere = "";

        SqlWhere = DB.And(SqlWhere, "CreatedDtTm Between " + DB.PutDtTm(dtBeg) + " And " + DB.PutDtTm(dtEnd));

        string Sql =
            "Select * From mcJobs " +
            "Where " + SqlWhere +
            " Order By CreatedDtTm";

        try
        {
            DataTable dt = db.DataTable(Sql);
            foreach (DataRow dr in dt.Rows)
            {
                JobRno = DB.Int32(dr["JobRno"]);

                int      cMen      = DB.Int32(dr["NumMenServing"]);
                int      cWomen    = DB.Int32(dr["NumWomenServing"]);
                int      cChild    = DB.Int32(dr["NumChildServing"]);
                int      cServings = cMen + cWomen + cChild;
                DateTime JobDate   = DB.DtTm(dr["JobDate"]);

                if (JobDate != PrevDate)
                {
                    cDays++;
                    PrevDate = JobDate;
                }

                cJobs++;
                cServ += cServings;

                Response.Write(
                    WebPage.Tabs(1) + "<tr>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Dt(DB.DtTm(dr["CreatedDtTm"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["CreatedDtTm"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Dt(JobDate) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["DepartureTime"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["MealTime"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["Customer"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["EventType"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["ServiceType"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(cServings, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + Fmt.Num(cMen, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + Fmt.Num(cWomen, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + Fmt.Num(cChild, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + JobRno + "</td>\n" +
                    WebPage.Tabs(1) + "</tr>\n"
                    );
            }

            if (dt.Rows.Count == 0)
            {
                Response.Write("<br><br><div class='JobSubTitle' align='center'>No Jobs Found to Print</div>\n");
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        Response.Write(WebPage.Tabs(0) + WebPage.TableEnd());

        string sTotals = "<b>" + cDays + "</b> Dates,&nbsp;&nbsp;<b>" + cJobs + "</b> Jobs,&nbsp;&nbsp;<b>" + Fmt.Num(cServ) + "</b> Servings";

        Response.Write("<script language='javascript'>oSetStr('Totals', '" + sTotals + "');</script>\n");
    }
示例#26
0
    protected void GetShoppingList()
    {
        string Sql = String.Format(
            "Select i.Category, i.Name As Ingredient, " +
            "Coalesce(f.Qty, NumMenServing + NumWomenServing + NumChildServing) As Qty, " +
            "r.OneServQty, i.OrderUnits, j.JobDate, j.Customer, " +
            "Coalesce(j.MealTime, j.ArrivalTime, j.DepartureTime) As JobTime " +
            "From mcJobs j " +
            "Inner Join mcJobFood f On j.JobRno = f.JobRno " +
            "Inner Join mcJobMenuItems m On f.MenuItem = m.MenuItem " +
            "Inner Join Recipes r On m.MenuItemRno = r.MenuItemRno " +
            "Inner Join Ingredients i On r.IngredRno = i.IngredRno " +
            "Where JobDate Between {0} And {1} " +
            "And CancelledDtTm Is Null " +
            "Order By i.Category, i.Name, j.JobDate, JobTime, j.Customer",
            DB.PutDtTm(dtBeg),
            DB.PutDtTm(dtEnd));

        try
        {
            string PrevCategory   = null;
            string PrevIngredient = null;
            string FirstCategory  = "First";

            DataTable dt = db.DataTable(Sql);
            for (int iRow = 0; iRow < dt.Rows.Count; iRow++)
            {
                DataRow dr         = dt.Rows[iRow];
                string  Category   = DB.Str(dr["Category"]);
                string  Ingredient = GetIngredient(ref dr);

                int Qty;

                if (Ingredient != PrevIngredient)
                {
                    decimal PerServing = DB.Dec(dr["OneServQty"]);
                    string  Units      = DB.Str(dr["OrderUnits"]);

                    int iBeg  = iRow;
                    int cQty  = 0;
                    int cJobs = 0;

                    PrevIngredient = Ingredient;

                    while (Ingredient == PrevIngredient && iRow < dt.Rows.Count)
                    {
                        Qty = DB.Int32(dr["Qty"]);

                        cQty += Qty;
                        cJobs++;

                        if (++iRow < dt.Rows.Count)
                        {
                            dr         = dt.Rows[iRow];
                            Ingredient = GetIngredient(ref dr);
                        }
                    }

                    decimal PurchaseQty = cQty * PerServing;

                    string sClass    = (Category == PrevCategory ? "" : " class=\"" + FirstCategory + "RptCategory\"");
                    string sCategory = (Category == PrevCategory ? "" : "<b>" + Category + "</b>");

                    Response.Write(
                        WebPage.Tabs(1) + "<tr" + sClass + ">\n" +
                        WebPage.Tabs(2) + "<td>" + sCategory + "</td>\n" +
                        WebPage.Tabs(2) + "<td valign='top' align='right'><img src='Images/Diamond.gif' class='RptBullet'></td>\n" +
                        WebPage.Tabs(2) + "<td colspan='6' class='JobItem'><a href='javascript:ShowDtl(" + iDtl + ", " + (iDtl + cJobs - 1) + ");'>" + PrevIngredient + "</a></td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(cJobs, false) + "</td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td align='right' class='RptNotice'>" + Fmt.Num(cQty, false) + "</td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td align='right'>" + Str.ShowFract(PerServing) + " " + Units + "</td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td align='right' class='RptNotice'>" + Fmt.Num((int)Math.Ceiling(PurchaseQty), false) + " " + Units + "</td>\n" +
                        WebPage.Tabs(2) + "<td></td>\n" +
                        WebPage.Tabs(2) + "<td class='StoreNote'>&nbsp;</td>\n" +
                        WebPage.Tabs(1) + "</tr>\n"
                        );

                    if (sClass != "")
                    {
                        FirstCategory = "";
                    }

                    iRow = iBeg;
                }

                dr         = dt.Rows[iRow];
                Ingredient = GetIngredient(ref dr);
                Qty        = DB.Int32(dr["Qty"]);

                Response.Write(
                    WebPage.Tabs(1) + "<tr id='Dtl" + iDtl++ + "' style='display: none;'>\n" +
                    WebPage.Tabs(2) + "<td colspan='3'></td>\n" +
                    WebPage.Tabs(2) + "<td>" + Fmt.Dt(DB.DtTm(dr["JobDate"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["JobTime"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["Customer"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(Qty, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'></td>\n" +
                    WebPage.Tabs(1) + "</tr>\n"
                    );

                PrevIngredient = Ingredient;
                PrevCategory   = Category;
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }
    }
示例#27
0
    //protected void ReportData(FoodType eFoodType, ref DataTable dt)
    protected void ReportData(ref DataTable dt, int KitchenLocRno, string KitchenLocation)
    {
        //this.eFoodType = eFoodType;
        DateTime PrevDate       = DateTime.MinValue;
        DateTime PrevDepartTime = DateTime.MinValue;
        int      cDays          = 0;
        int      cJobs          = 0;
        int      cServ          = 0;

        foreach (DataRow dr in dt.Rows)
        {
            int      JobRno     = DB.Int32(dr["JobRno"]);
            DateTime JobDate    = DB.DtTm(dr["JobDate"]);
            DateTime DepartTime = DB.DtTm(dr["DepartTime"]);

            if (JobDate != PrevDate || DepartTime.Hour < 12 && !(PrevDepartTime.Hour < 12) || DepartTime.Hour >= 12 && !(PrevDepartTime.Hour >= 12))
            {
                if (JobDate != PrevDate)
                {
                    cDays++;
                    PrevDate = JobDate;
                }
                PrevDepartTime = DepartTime;

                if (!fSummaryOnly)
                {
                    DayHeader(JobDate, DepartTime.Hour < 12, DepartTime.Hour >= 12, KitchenLocation);
                }
            }

            if (fSummaryOnly)
            {
                //int JobRno = DB.Int32(dr["JobRno"]);
                int cMen      = DB.Int32(dr["NumMenServing"]);
                int cWomen    = DB.Int32(dr["NumWomenServing"]);
                int cChild    = DB.Int32(dr["NumChildServing"]);
                int cServings = cMen + cWomen + cChild;

                cJobs++;
                cServ += cServings;

                Response.Write(
                    WebPage.Tabs(1) + "<tr>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Dt(DB.DtTm(dr["JobDate"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["DepartureTime"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Tm12Hr(DB.DtTm(dr["MealTime"])) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["Customer"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["EventType"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td>" + DB.Str(dr["ServiceType"]) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right'>" + Fmt.Num(cServings, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + Fmt.Num(cMen, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + Fmt.Num(cWomen, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + Fmt.Num(cChild, false) + "</td>\n" +
                    WebPage.Tabs(2) + "<td></td>\n" +
                    WebPage.Tabs(2) + "<td align='right' class='SmallPrint'>" + JobRno + "</td>\n" +
                    WebPage.Tabs(1) + "</tr>\n"
                    );
            }
            else
            {
                //DayHeader(dtCurr);	//each job at the top of the page
                JobData(dr, KitchenLocRno);
            }
        }

        //if (dt.Rows.Count > 0)
        //{
        //    cDays++;
        //}


        if (fSummaryOnly)
        {
            Response.Write(WebPage.Tabs(0) + WebPage.TableEnd());

            string sTotals = "<b>" + cDays + "</b> Dates,&nbsp;&nbsp;<b>" + cJobs + "</b> Jobs,&nbsp;&nbsp;<b>" + Fmt.Num(cServ) + "</b> Servings";
            Response.Write("<script language='javascript'>oSetStr('Totals', '" + sTotals + "');</script>\n");
        }
    }
示例#28
0
    public string FormatJob(DataRow dr)
    {
        string sDepart     = Fmt.Tm12Hr(DB.DtTm(dr["DepartureTime"]));
        string sDepartNote = sDepart;
        string sMeal       = Fmt.Tm12Hr(DB.DtTm(dr["MealTime"]));
        Int32  cMen        = DB.Int32(dr["NumMenServing"]);
        Int32  cWomen      = DB.Int32(dr["NumWomenServing"]);
        Int32  cChild      = DB.Int32(dr["NumChildServing"]);

        if (sDepart.Length == 0)
        {
            if (sMeal.Length > 0)
            {
                sDepart       = sMeal + "<sup>*</sup>";
                sDepartNote   = sMeal;
                fNoDepartTime = true;
            }
            else
            {
                sDepart     = "N/A";                    // + "<sup>*</sup>";
                sDepartNote = "N/A";
                //					fNoDepartTime = true;
            }
        }


        string Html =
            WebPage.Tabs(3) + WebPage.Table("width='100%' class='NoBorder'") +
            WebPage.Tabs(4) + "<tr>\n" +
            WebPage.Tabs(5) + "<td><span class='CalMainTime'><a href='javascript:ShowJob(" + iJobNum + ");' title='Departure Time: " + sDepartNote + "\nMeal Time: " + sMeal + "\nClick to see details of this job.'>" + sDepart + "</a></span></td>\n" +
            WebPage.Tabs(5) + "<td>&nbsp;</td>\n" +
            WebPage.Tabs(5) + "<td align='right'><span class='CalMinorTime'>" + sMeal + "</span></td>\n" +
            WebPage.Tabs(4) + "</tr>\n" +
            WebPage.Tabs(3) + WebPage.TableEnd() +
            WebPage.Tabs(3) + WebPage.Table("class='NoBorder'") +
            WebPage.Tabs(4) + WebPage.SpaceTr(10, 1) +
            JobField(dr, "Customer") +
            WebPage.Tabs(4) + "<tbody id='tblJob" + iJobNum + "' style='display: none;'>\n" +
            JobField(dr, "Location") +
            JobField(dr, "EventType") +
            JobField(dr, "ServiceType") +
            WebPage.Tabs(4) + "<tr>\n" +
            WebPage.Tabs(5) + "<td>&bull;</td>\n" +
            WebPage.Tabs(5) + "<td>" +
            Fmt.Num(cMen + cWomen + cChild) +
            "<span class='RptSmall'>&nbsp;&nbsp;(M " + cMen +
            ",&nbsp;&nbsp;W " + cWomen +
            ",&nbsp;&nbsp;C " + cChild + ")</span></td>\n" +
            WebPage.Tabs(4) + "</tr>\n" +
            WebPage.Tabs(4) + "</tbody>\n" +
            WebPage.Tabs(3) + WebPage.TableEnd();

        iJobNum++;

        DateTime dtDepart = DB.DtTm(dr["DepartTime"]);

        sDepart = new DateTime(dtDepart.Year, dtDepart.Month, dtDepart.Day, 0, 0, 0).ToString("M/d/yyyy");

        // if this date hasn't seen yet
        if (scDays.IndexOf(sDepart) < 0)
        {
            scDays.Add(sDepart);
            cDays++;
        }

        return(Html);
    }
示例#29
0
    protected void Report()
    {
        Response.Write("</head>\n<body class='RptBody'>\n");

        int cServings = 0;
        int cJobs     = 0;

        cDays     = 0;
        dtPrevDay = DateTime.MinValue;

        string Sql = String.Format(
            "Select Count(*) As Cnt, " +
            "(IsNull(Sum(NumMenServing), 0) + IsNull(Sum(NumWomenServing), 0) + IsNull(Sum(NumChildServing), 0)) As NumServings " +
            "From mcJobs Where JobDate Between {0} And {1} " +
            "And CancelledDtTm Is Null And ProposalFlg <> 1",
            DB.PutDtTm(dtBeg),
            DB.PutDtTm(dtEnd));

        try
        {
            DataTable dt = db.DataTable(Sql);
            DataRow   dr = dt.Rows[0];
            cJobs     = DB.Int32(dr["Cnt"]);
            cServings = DB.Int32(dr["NumServings"]);
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        string Html =
            WebPage.Tabs(0) + WebPage.Table("align='center'") +
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + "<td colspan='2' align='center'>\n" +
            WebPage.Tabs(3) + WebPage.Div("Job Calendar", "center", "RptTitle") +
            WebPage.Tabs(5) + WebPage.Div("Scheduled Jobs for the<br>" + sPeriod, "center", "RptSubTitle") +
            WebPage.Tabs(2) + "</td>\n" +
            WebPage.Tabs(1) + "</tr>\n" +
            WebPage.Tabs(1) + WebPage.SpaceTr(1, 15) +
            WebPage.Tabs(1) + "<tr>\n" +
            WebPage.Tabs(2) + "<td><span class='RptInfo'>Click an event depature time to show or hide job details.</span></td>\n" +
            WebPage.Tabs(2) + "<td valign='bottom' align='right'>" +
            WebPage.Span(Fmt.Num(cServings), "RptNotice") + " Servings, " +
            WebPage.Span(Fmt.Num(cJobs), "RptNotice") + " Jobs, " +
            "<span id='cDays' class='RptNotice'>0</span> Days</td>\n" +
            WebPage.Tabs(1) + "</tr>\n" +
            WebPage.Tabs(1) + "<tr><td colspan='2' valign='top'>\n" +
            "<br>\n";

        Response.Write(Html);

        try
        {
            fNoDepartTime = false;
            scDays.Clear();

            CalSched Cal = new CalSched(dtBeg, dtEnd);
            try
            {
                Cal.BegTimeStr("11:00am");
                Cal.EndTimeStr("4:00pm");
                Cal.TimeBlock    = 5 * 60;
                Cal.DBConnection = db.Conn;
                Cal.SqlDataQuery(
                    "Select Coalesce(DepartureTime, MealTime, JobDate) As DepartTime, DepartureTime, MealTime, Location, EventType, " +
                    "ServiceType, NumMenServing, NumWomenServing, NumChildServing, Coalesce(cu.Name, c.Name) as Customer " +
                    "From mcJobs j " +
                    "Right Join Contacts c On j.ContactRno = c.ContactRno " +
                    "Left Join Customers cu on c.CustomerRno = cu.CustomerRno " +
                    "Where JobDate Between '{0}' And '{1}' And " +
                    "CancelledDtTm Is Null And " +
                    "IsNull(ProposalFlg, 0) = 0" +
                    "Order By JobDate, DepartTime, MealTime",
                    "DepartTime",
                    "DepartTime");
                Cal.FormatData     = new CalSched.DataFormater(FormatJob);
                Cal.EndCal         = new CalSched.CalEvent(EndCal);
                Cal.ShowTimeColumn = false;
                Cal.View(Response, this.CalPeriod);
            }
            catch (Exception Ex)
            {
                Err Err = new Err(Ex, Cal.SqlQuery);
                Response.Write(Err.Html());
            }
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        Html =
            "<br>\n" +
            WebPage.Tabs(1) + "</td></tr>\n" +
            WebPage.Tabs(1) + "<tr><td colspan='2' align='center'>\n" +
            WebPage.Tabs(2) + "<input type=button value='Show Details' title='Click to show job details for all events.' onClick='ShowAll();' class='RptSmallBtn'>&nbsp;&nbsp;\n" +
            WebPage.Tabs(2) + "<input type=button value='Hide Details' title='Click to hide job details for all events.' onClick='HideAll();' class='RptSmallBtn'>\n" +
            WebPage.Tabs(1) + "</td></tr>\n" +
            WebPage.Tabs(0) + WebPage.TableEnd() +
            "<script lang='javascript'>\n" +
            "var EndJobNum = " + --iJobNum + ";\n" +
            "oSetStr('cDays', '" + Fmt.Num(cDays) + "');\n" +
            "</script>\n";
        Response.Write(Html);
    }
示例#30
0
    protected bool ReportCrew(string CrewMember, bool fSingle, bool fMaster)
    {
        bool fDataFound = false;

        int cAssignments = 0;
        int cJobs        = 0;

        cDays = 0;

        string Sql = String.Format(
            "Select Count(*) As Cnt " +
            "From mcJobCrew c Inner Join mcJobs j On c.JobRno = j.JobRno " +
            "Where JobDate Between {0} And {1} " +
            (fMaster ? "" : "And CrewMember = {2} ") +
            "And CancelledDtTm Is Null",
            DB.PutDtTm(dtBeg),
            DB.PutDtTm(dtEnd),
            DB.PutStr(CrewMember));

        cAssignments = db.SqlNum(Sql);

        Sql = String.Format(
            "Select Distinct c.JobRno " +
            "From mcJobCrew c Inner Join mcJobs j On c.JobRno = j.JobRno " +
            "Where JobDate Between {0} And {1} " +
            (fMaster ? "" : "And CrewMember = {2} ") +
            "And CancelledDtTm Is Null",
            DB.PutDtTm(dtBeg),
            DB.PutDtTm(dtEnd),
            DB.PutStr(CrewMember));
        try
        {
            DataTable dt = db.DataTable(Sql);
            cJobs = dt.Rows.Count;
        }
        catch (Exception Ex)
        {
            Err Err = new Err(Ex, Sql);
            Response.Write(Err.Html());
        }

        if (cAssignments > 0 || fSingle)
        {
            fDataFound = true;

            string Html =
                WebPage.Tabs(0) + WebPage.Table("align='center'" + (fNewPage ? " style='page-break-before: always;'" : "")) +
                WebPage.Tabs(1) + "<tr>\n" +
                WebPage.Tabs(2) + "<td colspan='2' align='center'>\n" +
                WebPage.Tabs(3) + WebPage.Div("Crew Calendar", "center", "RptTitle") +
                WebPage.Tabs(5) + WebPage.Div("Job Assignments for <span class='RptSubTitle'>" + CrewMember + "</span><br>" + sPeriod, "center", "RptSubTitleSmall") +
                WebPage.Tabs(2) + "</td>\n" +
                WebPage.Tabs(1) + "</tr>\n" +
                WebPage.Tabs(1) + WebPage.SpaceTr(1, 15) +
                WebPage.Tabs(1) + "<tr>\n" +
                WebPage.Tabs(2) + "<td><span class='RptInfo'>Click an event time to show or hide job details.</span></td>\n" +
                WebPage.Tabs(2) + "<td valign='bottom' align='right'>" +
                WebPage.Span(Fmt.Num(cAssignments), "RptNotice") + " Assignments, " +
                WebPage.Span(Fmt.Num(cJobs), "RptNotice") + " Jobs, " +
                "<span id='cDays" + ++iCal + "' class='RptNotice'>0</span> Days</td>\n" +
                WebPage.Tabs(1) + "</tr>\n" +
                WebPage.Tabs(1) + "<tr><td colspan='2' valign='top'>\n" +
                "<br>\n";
            Response.Write(Html);

            try
            {
                fNoReportTime = false;
                scDays.Clear();

                CalSched Cal = new CalSched(dtBeg, dtEnd);
                try
                {
                    Cal.BegTimeStr("11:00am");
                    Cal.EndTimeStr("4:00pm");
                    Cal.TimeBlock    = 5 * 60;
                    Cal.DBConnection = db.Conn;
                    Cal.SqlDataQuery(
                        "Select Coalesce(ReportTime, MealTime, JobDate) As ReportTm, ReportTime, MealTime, " +
                        "CrewMember, CrewAssignment, Note, Customer, Location, EventType, " +
                        "ServiceType " +
                        "From mcJobCrew c Inner Join mcJobs j On c.JobRno = j.JobRno " +
                        "Where JobDate Between '{0}' And '{1}' " +
                        (fMaster ? "" : "And CrewMember = " + DB.PutStr(CrewMember) + " ") +
                        "And CancelledDtTm Is Null " +
                        "Order By JobDate, ReportTime, MealTime",
                        "ReportTm",
                        "ReportTm");
                    Cal.FormatData     = new CalSched.DataFormater(FormatJob);
                    Cal.EndCal         = new CalSched.CalEvent(EndCal);
                    Cal.ShowTimeColumn = false;
                    Cal.View(Response, this.CalPeriod);
                }
                catch (Exception Ex)
                {
                    Err Err = new Err(Ex, Cal.SqlQuery);
                    Response.Write(Err.Html());
                }
            }
            catch (Exception Ex)
            {
                Err Err = new Err(Ex, Sql);
                Response.Write(Err.Html());
            }

            Html =
                WebPage.Tabs(1) + "</td></tr>\n" +
                WebPage.Tabs(1) + WebPage.SpaceTr(1, 20) +
                WebPage.Tabs(0) + WebPage.TableEnd() +
                "<script language='javascript'>oSetStr('cDays" + iCal + "', '" + Fmt.Num(cDays) + "');</script>\n";
            Response.Write(Html);

            fNewPage = true;
        }

        return(fDataFound);
    }