Beispiel #1
0
        protected bool AddNewOrderLine(int pNewItemID, double pNewQuantityOrdered, int pNewPackagingID)
        {
            string _ErrorStr = "";

            OrderTblData _OrderData = new OrderTblData();
            OrderTbl     _OrderTbl  = new OrderTbl();

            _OrderData.CustomerId      = Convert.ToInt64(ddlContacts.SelectedValue);
            _OrderData.OrderDate       = Convert.ToDateTime(tbxOrderDate.Text).Date;
            _OrderData.RoastDate       = Convert.ToDateTime(tbxRoastDate.Text).Date;
            _OrderData.RequiredByDate  = Convert.ToDateTime(tbxRequiredByDate.Text).Date;
            _OrderData.ToBeDeliveredBy = Convert.ToInt32(ddlToBeDeliveredBy.SelectedValue);
            _OrderData.PurchaseOrder   = tbxPurchaseOrder.Text;
            _OrderData.Confirmed       = Convert.ToBoolean(cbxConfirmed.Checked);
            _OrderData.InvoiceDone     = cbxInvoiceDone.Checked;
            _OrderData.Done            = Convert.ToBoolean(cbxDone.Checked);
            _OrderData.Notes           = tbxNotes.Text;
            // Now line data
            Session[OrderHeaderData.CONST_BOUNDOLDDELIVERYDATE] = _OrderData.RequiredByDate.Date;
            TrackerTools _TT = new TrackerTools();

            _OrderData.ItemTypeID      = _TT.ChangeItemIfGroupToNextItemInGroup(_OrderData.CustomerId, pNewItemID, _OrderData.RequiredByDate);
            _OrderData.QuantityOrdered = pNewQuantityOrdered;
            _OrderData.PackagingID     = pNewPackagingID;

            _ErrorStr = _OrderTbl.InsertNewOrderLine(_OrderData);

            BindRowQueryParameters();

            return(String.IsNullOrEmpty(_ErrorStr));
        }
Beispiel #2
0
        //    const string CONST_SQL_CUSTOMERS_DISABLEIFREMINDERTOHIGH = "UPDATE CustomersTbl SET enabled = false WHERE (CustomerID = ?) AND (ReminderCount > ?)";
        public bool DisableCustomerIfReminderToHigh(long pCustomerID)
        {
            bool   _Success       = false;
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                string _sqlCmd = CONST_SQL_CUSTOMERS_DISABLEIFREMINDERTOHIGH;

                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
                #region Parameters
                //     WHERE CustomerID = ?
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID, OleDbType = OleDbType.Integer
                });
                #endregion
                try
                {
                    _conn.Open();
                    _Success = (_cmd.ExecuteNonQuery() >= 0);
                }
                catch (OleDbException _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _Success = false;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_Success);
        }
Beispiel #3
0
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            string _ErrorStr = "Connection not openned";

            OrderTbl _OrderTbl = new OrderTbl();

            OrderHeaderData _OrderHeaderData = Get_dvOrderHeaderData(false);
            OrderTblData    _OrderData       = new OrderTblData();

            // first summary data
            _OrderData.CustomerId      = _OrderHeaderData.CustomerID;
            _OrderData.OrderDate       = _OrderHeaderData.OrderDate;
            _OrderData.RoastDate       = _OrderHeaderData.RoastDate;
            _OrderData.RequiredByDate  = _OrderHeaderData.RequiredByDate;
            _OrderData.ToBeDeliveredBy = Convert.ToInt32(_OrderHeaderData.ToBeDeliveredBy);
            _OrderData.PurchaseOrder   = _OrderHeaderData.PurchaseOrder;
            _OrderData.Confirmed       = _OrderHeaderData.Confirmed;
            _OrderData.InvoiceDone     = _OrderHeaderData.InvoiceDone;
            _OrderData.Done            = _OrderHeaderData.Done;
            _OrderData.PurchaseOrder   = _OrderHeaderData.PurchaseOrder;
            _OrderData.Notes           = _OrderHeaderData.Notes;

            // Now line data
            TrackerTools _TT = new TrackerTools();

            _OrderData.ItemTypeID      = Convert.ToInt32(ddlNewItemDesc.SelectedValue);
            _OrderData.ItemTypeID      = _TT.ChangeItemIfGroupToNextItemInGroup(_OrderData.CustomerId, _OrderData.ItemTypeID, _OrderData.RequiredByDate);
            _OrderData.QuantityOrdered = Convert.ToDouble(tbxNewQuantityOrdered.Text);
            _OrderData.PackagingID     = Convert.ToInt32(ddlNewPackaging.SelectedValue);

            _ErrorStr       = _OrderTbl.InsertNewOrderLine(_OrderData);
            ltrlStatus.Text = (String.IsNullOrWhiteSpace(_ErrorStr) ? "Item Added" : "Error adding item: " + _ErrorStr);
            HideNewOrderItemPanel();
        }
        public List <ClientUsageLinesTbl> GetLast10UsageLines(long pCustomerID, int pServiceTypeId)
        {
            List <ClientUsageLinesTbl> _DataItems = new List <ClientUsageLinesTbl>();
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDb.CONST_CONSTRING].ConnectionString;

            string _sqlCmd = "SELECT TOP 10 ClientUsageLineNo, CustomerID, [Date] AS LineDate, CupCount, ServiceTypeID " +
                             "FROM ClientUsageLinesTbl WHERE ClientUsageLinesTbl.CustomerID = ? ";

            if (pServiceTypeId > 0)
            {
                _sqlCmd += " AND ClientUsageLinesTbl.ServiceTypeID = ?";
            }

            _sqlCmd += " ORDER BY ClientUsageLinesTbl.Date DESC";

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // run the qurey we have built
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID
                });
                if (pServiceTypeId > 0)
                {
                    _cmd.Parameters.Add(new OleDbParameter {
                        Value = pServiceTypeId
                    });
                }

                try
                {
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    while (_DataReader.Read())
                    {
                        ClientUsageLinesTbl _DataItem = new ClientUsageLinesTbl();
                        _DataItem.CustomerID        = pCustomerID;
                        _DataItem.ClientUsageLineNo = (_DataReader["ClientUsageLineNo"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ClientUsageLineNo"]);
                        _DataItem.CustomerID        = (_DataReader["CustomerID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["CustomerID"]);
                        _DataItem.LineDate          = (_DataReader["LineDate"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["LineDate"]);
                        _DataItem.CupCount          = (_DataReader["CupCount"] == DBNull.Value) ? 0 : Convert.ToInt64(_DataReader["CupCount"]);
                        _DataItem.ServiceTypeID     = (_DataReader["ServiceTypeID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ServiceTypeID"]);
                        //_DataItem.Qty = (_DataReader["Qty"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["Qty"]);
                        //_DataItem.Notes = (_DataReader["Notes"] == DBNull.Value) ? string.Empty : _DataReader["Notes"].ToString();
                        _DataItems.Add(_DataItem);
                    }
                }
                catch (Exception _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _DataItems.Clear();
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_DataItems);
        }
Beispiel #5
0
        //private OleDbConnection OpenTrackerOleDBConnection()
        //{
        //  OleDbConnection pConn = null;
        //  string _connectionString;

        //  if (ConfigurationManager.ConnectionStrings[CONST_CONSTRING] == null ||
        //      ConfigurationManager.ConnectionStrings[CONST_CONSTRING].ConnectionString.Trim() == "")
        //  {
        //    throw new Exception("A connection string named " + CONST_CONSTRING + " with a valid connection string " +
        //                        "must exist in the <connectionStrings> configuration section for the application.");
        //  }
        //  _connectionString = ConfigurationManager.ConnectionStrings[CONST_CONSTRING].ConnectionString;
        //  pConn = new OleDbConnection(_connectionString);

        //  return pConn;
        //}
        protected void SetContactByID(string pCoNameID)
        {
            // Set the Contact Name to string passed
            // check for null string
            if (!string.IsNullOrEmpty(pCoNameID))
            {
                // now find it
                if (ddlContacts.Items.FindByValue(pCoNameID) != null)
                {
                    ddlContacts.SelectedValue = pCoNameID;

                    TrackerTools tt = new TrackerTools();
                    TrackerTools.ContactPreferedItems _ContactPreferedItems = tt.RetrieveCustomerPrefs(Convert.ToInt64(pCoNameID));
                    if (ddlToBeDeliveredBy.Items.FindByValue(_ContactPreferedItems.DeliveryByID.ToString()) != null)
                    {
                        ddlToBeDeliveredBy.SelectedValue = _ContactPreferedItems.DeliveryByID.ToString();
                    }
                }
                else
                { // did not find company to set it to generic
                    ddlContacts.SelectedValue = CONST_ZZNAME_DEFAULTID;
                    tbxNotes.Text            += "ID note found: " + pCoNameID + ": ";
                }
            }
        }
Beispiel #6
0
        public double GetAverageConsumption(long pCustomerID)
        {
            double _Ave           = TrackerDotNet.classes.TrackerTools.CONST_TYPICALAVECONSUMPTION;
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                try
                {
                    OleDbCommand _cmd = new OleDbCommand(CONST_SQL_SELECTDAILYCONSUMPTION, _conn);          // run the qurey we have built
                    _cmd.Parameters.Add(new OleDbParameter {
                        Value = pCustomerID
                    });
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    if (_DataReader.Read())
                    {
                        _Ave = (_DataReader["DailyConsumption"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["DailyConsumption"]);
                    }
                }
                catch (Exception _ex)
                {
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    throw;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_Ave);
        }
Beispiel #7
0
        /*
         *   try
         *   {
         *     _conn.Open();
         *     if (_cmd.ExecuteNonQuery() > 0)
         *
         *
         *   OleDbConnection _conn = new OleDbConnection(_connectionString);
         *
         *    // add parameters in the order they appear in the update command
         *   OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
         *   _cmd.Parameters.Add(new OleDbParameter { Value = ItemTypeID });
         *   _cmd.Parameters.Add(new OleDbParameter { Value = Math.Round(QuantityOrdered,2) });
         *   _cmd.Parameters.Add(new OleDbParameter { Value = PackagingID });
         *   _cmd.Parameters.Add(new OleDbParameter { Value = OrderID });
         *
         *   try
         *   {
         *     _conn.Open();
         *     if (_cmd.ExecuteNonQuery() > 0)
         *       return false;
         *   }
         *   catch (OleDbException ex)
         *   {
         *     string _ErrStr = ex.Message;
         *     return _ErrStr == "";
         *   }
         *   finally
         *   {
         *     _conn.Close();
         *   }
         *
         *   return true;
         * }
         */
        public bool InsertOrderDetails(Int64 CustomerID, DateTime OrderDate, DateTime RoastDate, Int32 ToBeDeliveredBy,
                                       DateTime RequiredByDate, Boolean Confirmed, Boolean Done, String Notes,
                                       double QuantityOrdered, Int32 PackagingID, Int32 ItemTypeID)
        {
            string _sqlCmd = "INSERT INTO OrdersTbl (CustomerId, OrderDate, RoastDate, RequiredByDate, ToBeDeliveredBy, Confirmed, Done, Notes, " +
                             " ItemTypeID, QuantityOrdered, PackagingID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            //1  2  3  4  5  6  7  8  9  10 11
            bool _Success = false;

            // check if the item is a group item then get the next group.
            TrackerTools _TT = new TrackerTools();

            ItemTypeID = _TT.ChangeItemIfGroupToNextItemInGroup(CustomerID, ItemTypeID, RequiredByDate);
            TrackerDb _TDB = new TrackerDb();

            // first summary data
            _TDB.AddParams(CustomerID, DbType.Int64, "@CustomerID");
            _TDB.AddParams(OrderDate, DbType.Date, "@OrderDate");
            _TDB.AddParams(RoastDate, DbType.Date, "@RoastDate");
            _TDB.AddParams(RequiredByDate, DbType.Date, "@RequiredByDate");
            _TDB.AddParams(ToBeDeliveredBy, DbType.Int32, "@ToBeDeliveredBy");
            _TDB.AddParams(Confirmed, DbType.Boolean, "@Confirmed");
            _TDB.AddParams(Done, DbType.Boolean, "@Done");
            _TDB.AddParams(Notes, DbType.String, "@Notes");

            // Now line data
            _TDB.AddParams(ItemTypeID, DbType.Int32, "@ItemTypeID");
            _TDB.AddParams(Math.Round(QuantityOrdered, 2), DbType.Double, "@QuantityOrdered");
            _TDB.AddParams(PackagingID, DbType.Int32, "@PackagingID");

            _Success = String.IsNullOrEmpty(_TDB.ExecuteNonQuerySQL(_sqlCmd));
            _TDB.Close();
            return(_Success);
        }
Beispiel #8
0
        public bool UsageDataExists(long pCustomerID)
        {
            bool   _Exists        = false;
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                try
                {
                    OleDbCommand _cmd = new OleDbCommand(CONST_SQL_ISARECORD, _conn);          // run the qurey we have built
                    _cmd.Parameters.Add(new OleDbParameter {
                        Value = pCustomerID
                    });
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    _Exists = _DataReader.HasRows;
                }
                catch (Exception _ex)
                {
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    throw;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_Exists);
        }
Beispiel #9
0
        /// <summary>
        /// Do the current lines have service type coffee in it
        /// </summary>
        /// <returns>if there is a service item coffee</returns>
        public bool HasCoffeeInTempOrder()
        {
            string _sqlCmd = "SELECT ServiceTypeID " +
                             " FROM TempOrdersLinesTbl" +
                             " WHERE ServiceTypeID = " + TrackerTools.CONST_STRING_SERVTYPECOFFEE;

            bool   _HasCoffeeInTemp = false;
            string _connectionStr   = ConfigurationManager.ConnectionStrings[TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                // now get data from database
                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // run the qurey we have built
                _conn.Open();
                try
                {
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    _HasCoffeeInTemp = (_DataReader != null) ? _DataReader.HasRows : false; // if it has rows then they exists
                }
                catch (OleDbException _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_HasCoffeeInTemp);
        }
//    const string CONST_SQL_CUSTOMERS_SELECT_REMINDERCOUNT = "SELECT ReminderCount FROM CustomersTbl WHERE CustomersTbl.CustomerID = ?";
    public int GetReminderCount(long pCustomerID)
    {
      int _ReminderCount = -1;
      string _connectionStr = ConfigurationManager.ConnectionStrings[QOnT.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

      using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
      {
        string _sqlCmd = CONST_SQL_CUSTOMERS_SELECT_REMINDERCOUNT;

        OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
        //     WHERE CustomerID = ?
        _cmd.Parameters.Add(new OleDbParameter { Value = pCustomerID, OleDbType = OleDbType.Integer });
        try
        {
          _conn.Open();
          OleDbDataReader _DataReader = _cmd.ExecuteReader();
          if (_DataReader.Read())
            _ReminderCount = (_DataReader["ReminderCount"] == DBNull.Value) ? -1 : Convert.ToInt32(_DataReader["ReminderCount"]);
        }
        catch (OleDbException _ex)
        {
          // Handle exception.
          TrackerTools _Tools = new TrackerTools();
          _Tools.SetTrackerSessionErrorString(_ex.Message);
        }
        finally
        {
          _conn.Close();
        }
      }
      return _ReminderCount;
    }
        // real routine
        public List <ClientUsageLinesTbl> GetAllCustomerServiceLines(long pCustomerID, int pServiceTypeID, string pSortBy)
        {
            string CONST_SQL_SELECT = "SELECT ClientUsageLineNo, CustomerID, Date, CupCount, ServiceTypeID, Qty, Notes "
                                      + " FROM ClientUsageLinesTbl"
                                      + " WHERE ClientUsageLinesTbl.CustomerID = ?" // + pCustomerID
                                      + " AND ClientUsageLinesTbl.ServiceTypeID = ?";

            List <ClientUsageLinesTbl> _DataItems = new List <ClientUsageLinesTbl>();
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDb.CONST_CONSTRING].ConnectionString;
            string _sqlCmd        = CONST_SQL_SELECT;

            if (!String.IsNullOrEmpty(pSortBy))
            {
                _sqlCmd += " ORDER BY " + pSortBy;                               // Add order by string
            }
            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // run the qurey we have built
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID
                });
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pServiceTypeID
                });

                try
                {
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    while (_DataReader.Read())
                    {
                        ClientUsageLinesTbl _DataItem = new ClientUsageLinesTbl();
                        _DataItem.CustomerID        = pCustomerID;
                        _DataItem.ClientUsageLineNo = (_DataReader["ClientUsageLineNo"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ClientUsageLineNo"]);
                        _DataItem.CustomerID        = (_DataReader["CustomerID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["CustomerID"]);
                        _DataItem.LineDate          = (_DataReader["Date"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["Date"]);
                        _DataItem.CupCount          = (_DataReader["CupCount"] == DBNull.Value) ? 0 : Convert.ToInt64(_DataReader["CupCount"]);
                        _DataItem.ServiceTypeID     = (_DataReader["ServiceTypeID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ServiceTypeID"]);
                        _DataItem.Qty   = (_DataReader["Qty"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["Qty"]);
                        _DataItem.Notes = (_DataReader["Notes"] == DBNull.Value) ? string.Empty : _DataReader["Notes"].ToString();
                        _DataItems.Add(_DataItem);
                    }
                }
                catch (Exception _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _DataItems.Clear();
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_DataItems);
        }
        /// <summary>
        /// Return the latest data for the customer for a service type, or 0 for last item
        /// </summary>
        /// <param name="pCustomerID">the custoerm id</param>
        /// <param name="pServiceTypeID">default 0, means any service type otherwise pass the type.</param>
        /// <returns>data from that line</returns>
        public ClientUsageLinesTbl GetLatestUsageData(long pCustomerID, int pServiceTypeID)
        {
            ClientUsageLinesTbl _DataItem = new ClientUsageLinesTbl();

            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDb.CONST_CONSTRING].ConnectionString;
            string _sqlCmd        = "SELECT TOP 1 ClientUsageLineNo, CustomerID, [Date] As LineDate, CupCount, ServiceTypeID, Qty " +
                                    " FROM ClientUsageLinesTbl WHERE CustomerID = ? ";

            if (pServiceTypeID > 0)
            {
                _sqlCmd += "AND ServiceTypeID = ?";
            }

            // now make sure it is the last one
            _sqlCmd += " ORDER BY [Date] DESC";
            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // run the qurey we have built
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID
                });
                if (pServiceTypeID > 0)
                {
                    _cmd.Parameters.Add(new OleDbParameter {
                        Value = pServiceTypeID
                    });
                }

                try
                {
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    if (_DataReader.Read() && (_DataReader[0] != null))
                    {
                        _DataItem.CustomerID        = pCustomerID;
                        _DataItem.ClientUsageLineNo = (_DataReader["ClientUsageLineNo"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ClientUsageLineNo"]);
                        _DataItem.CustomerID        = (_DataReader["CustomerID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["CustomerID"]);
                        _DataItem.LineDate          = (_DataReader["LineDate"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["LineDate"]);
                        _DataItem.CupCount          = (_DataReader["CupCount"] == DBNull.Value) ? 0 : Convert.ToInt64(_DataReader["CupCount"]);
                        _DataItem.ServiceTypeID     = (_DataReader["ServiceTypeID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ServiceTypeID"]);
                        _DataItem.Qty = (_DataReader["Qty"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["Qty"]);
                    }
                }
                catch (Exception _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    throw;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_DataItem);
        }
        public bool UpdateItemsUsed(ClientUsageLinesTbl pClientUsageLine, long OriginalClientUsageLineNo)
        {
            bool   _Success       = false;
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                string _sqlCmd = CONST_SQL_UPDATE;

                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
                #region Parameters
                // Add data sent
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pClientUsageLine.CustomerID
                });
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pClientUsageLine.LineDate
                });
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pClientUsageLine.CupCount
                });
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pClientUsageLine.ServiceTypeID
                });
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pClientUsageLine.Qty
                });
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pClientUsageLine.Notes
                });
                //                                     " WHERE ClientUsageLineNo = ?)";
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = OriginalClientUsageLineNo
                });
                #endregion
                try
                {
                    _conn.Open();
                    _Success = (_cmd.ExecuteNonQuery() == 0);
                }
                catch (OleDbException _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _Success = false;
                }
                finally
                {
                    _conn.Close();
                }
                return(_Success);
            }
        }
Beispiel #14
0
        protected void btnResetPrepDates_Click(object sender, EventArgs e)
        {
            pnlResetPrepDate.Visible = true;

            TrackerTools _TTools = new TrackerTools();

            _TTools.SetNextRoastDateByCity();

            sdsCityPrepDates.DataBind();
            gvCityPrepDates.DataBind();
        }
Beispiel #15
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         QOnT.classes.TrackerTools tt = new TrackerTools();
         // now.AddDays(-7)
         dtThisRoastWeekStart = tt.GetClosestNextRoastDate(DateTime.Now.AddDays(-7), DayOfWeek.Monday);
         dtThisRoastWeekEnd   = dtThisRoastWeekStart.AddDays(7); // 5 days in a working week;
         tbxFilter.Text       = dtThisRoastWeekStart.ToShortDateString();
         ddlFilterBy.Focus();
         this.Form.DefaultButton = btnGo.UniqueID;
     }
 }
        protected void PrepPageData()
        {
            // load the data into the grid view
            TrackerDotNet.classes.TrackerTools _TTools = new TrackerTools();
            if (!_TTools.IsNextRoastDateByCityTodays())
            {
                _TTools.SetNextRoastDateByCity();   // The next roast days have not been calcualted, calculate them and save. When customers city is found save the details
            }
            // add all people into the grid that are to receive reminders
            SetListOfContactsToSendReminderTo(); //(ref strs, ref dts);

            upnlCustomerCheckup.Visible = true;
            upnlContactItems.Visible    = true;
        }
Beispiel #17
0
        public List <TrackedServiceItemTbl> GetAll(string SortBy)
        {
            List <TrackedServiceItemTbl> _DataItems = new List <TrackedServiceItemTbl>();
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                string _sqlCmd = CONST_SQL_SELECT;
                if (!String.IsNullOrEmpty(SortBy))
                {
                    _sqlCmd += " ORDER BY " + SortBy;                            // Add order by string
                }
                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // run the qurey we have built

                try
                {
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    while (_DataReader.Read())
                    {
                        TrackedServiceItemTbl _DataItem = new TrackedServiceItemTbl();

                        _DataItem.TrackerServiceItemID     = (_DataReader["TrackerServiceItemID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["TrackerServiceItemID"]);
                        _DataItem.ServiceTypeID            = (_DataReader["ServiceTypeID"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["ServiceTypeID"]);
                        _DataItem.TypicalAvePerItem        = (_DataReader["TypicalAvePerItem"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["TypicalAvePerItem"]);
                        _DataItem.UsageDateFieldName       = (_DataReader["UsageDateFieldName"] == DBNull.Value) ? string.Empty : _DataReader["UsageDateFieldName"].ToString();
                        _DataItem.UsageAveFieldName        = (_DataReader["UsageAveFieldName"] == DBNull.Value) ? string.Empty : _DataReader["UsageAveFieldName"].ToString();
                        _DataItem.ThisItemSetsDailyAverage = (_DataReader["ThisItemSetsDailyAverage"] == DBNull.Value) ? false : Convert.ToBoolean(_DataReader["ThisItemSetsDailyAverage"]);
                        _DataItem.Notes = (_DataReader["Notes"] == DBNull.Value) ? string.Empty : _DataReader["Notes"].ToString();
                        _DataItems.Add(_DataItem);
                    }
                }
                catch (OleDbException _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _DataItems.Clear();
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_DataItems);
        }
Beispiel #18
0
        protected bool AddLastOrder(bool pSetDates)
        {
            //string _LastOrderSQL, _sFrom, _sWhere;
            //string _sCustID;
            bool _LastOrder = (Session[CONST_LINESADDED] != null) ? (bool)Session[CONST_LINESADDED] : false;

            if (ddlContacts.SelectedValue != null)
            {
                SetUpdateBools();
                // retrieve the last order items from the database.
                long _CustID = Convert.ToInt64(ddlContacts.SelectedValue);
                // if they want us to set the delivery and roast dates
                if (pSetDates)
                {
                    SetPrepAndDeliveryValues(_CustID);
                }

                ItemUsageTbl        _ItemUsage        = new ItemUsageTbl();
                List <ItemUsageTbl> _LastItemsOrdered = _ItemUsage.GetLastItemsUsed(_CustID, TrackerTools.CONST_SERVTYPECOFFEE);

                if (_LastItemsOrdered.Count > 0)
                {
                    foreach (ItemUsageTbl _LastItemOrder in _LastItemsOrdered)
                    {
                        if (_LastItemOrder.ItemProvidedID > 0) // now a a order line
                        {
                            _LastOrder = (AddNewOrderLine(_LastItemOrder.ItemProvidedID, _LastItemOrder.AmountProvided, _LastItemOrder.PackagingID) || (_LastOrder));
                            if (!string.IsNullOrEmpty(_LastItemOrder.Notes))
                            {
                                tbxNotes.Text += String.Format("{0}last order used a group item, so next item in group selected.", (tbxNotes.Text.Length > 0) ? "; " : "");
                            }
                        }
                    }
                }
                else
                {
                    TrackerTools _TT = new TrackerTools();
                    TrackerTools.ContactPreferedItems _ContactPreferedItems = _TT.RetrieveCustomerPrefs(_CustID);
                    _LastOrder = (AddNewOrderLine(_ContactPreferedItems.PreferedItem, _ContactPreferedItems.PreferedQty, _ContactPreferedItems.PrefPackagingID) || (_LastOrder));
                }
                Session[CONST_LINESADDED] = _LastOrder;
            }

            return(_LastOrder);
        }
Beispiel #19
0
        public ClientUsageTbl GetUsageData(long pCustomerID)
        {
            ClientUsageTbl _DataItem      = new ClientUsageTbl();
            string         _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                try
                {
                    OleDbCommand _cmd = new OleDbCommand(CONST_SQL_SELECT, _conn);          // run the qurey we have built
                    _cmd.Parameters.Add(new OleDbParameter {
                        Value = pCustomerID
                    });
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    if (_DataReader.Read())
                    {
                        _DataItem.CustomerID       = pCustomerID;
                        _DataItem.LastCupCount     = (_DataReader["LastCupCount"] == DBNull.Value) ? 0 : Convert.ToInt32(_DataReader["LastCupCount"]);
                        _DataItem.NextCoffeeBy     = (_DataReader["NextCoffeeBy"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["NextCoffeeBy"]);
                        _DataItem.NextCleanOn      = (_DataReader["NextCleanOn"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["NextCleanOn"]);
                        _DataItem.NextFilterEst    = (_DataReader["NextFilterEst"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["NextFilterEst"]);
                        _DataItem.NextDescaleEst   = (_DataReader["NextDescaleEst"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["NextDescaleEst"]);
                        _DataItem.NextServiceEst   = (_DataReader["NextServiceEst"] == DBNull.Value) ? System.DateTime.Now : Convert.ToDateTime(_DataReader["NextServiceEst"]);
                        _DataItem.DailyConsumption = (_DataReader["DailyConsumption"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["DailyConsumption"]);
                        _DataItem.FilterAveCount   = (_DataReader["FilterAveCount"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["FilterAveCount"]);
                        _DataItem.DescaleAveCount  = (_DataReader["DescaleAveCount"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["DescaleAveCount"]);
                        _DataItem.ServiceAveCount  = (_DataReader["ServiceAveCount"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["ServiceAveCount"]);
                        _DataItem.CleanAveCount    = (_DataReader["CleanAveCount"] == DBNull.Value) ? 0.0 : Convert.ToDouble(_DataReader["CleanAveCount"]);
                    }
                }
                catch (Exception _ex)
                {
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    throw;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_DataItem);
        }
Beispiel #20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // load the data into the grid view
                QOnT.classes.TrackerTools _TTools = new TrackerTools();
                if (!_TTools.IsNextRoastDateByCityTodays())
                {
                    _TTools.SetNextRoastDateByCity(); // The next roast days have not been calcualted, calculate them and save. When customers city is found save the details
                }
                List <ContactToRemind> _ContactsToRemind = GetReocurringContacts();



                //QOnT.control.ClientsToReceiveReminderQry _ClientsControl = new control.ClientsToReceiveReminderQry();
                //List<control.ClientsToReceiveReminderQry> _ClientsToReceiveReminder = _ClientsControl.GetCustomersToReveiveReminder("NextCoffeeBy");
                //gvCustomerCheckup.DataSource = _ClientsToReceiveReminder;
                //gvCustomerCheckup.DataBind();
            }
        }
Beispiel #21
0
        private bool LogARepair(RepairsTbl pRepair, bool pCalcOrderData)
        {
            bool _Success = false;
            // create a new order for delivery [RoastDate]
            OrderTblData _OrderData      = new OrderTblData();
            DateTime     _RequiredByDate = DateTime.Now.Date.AddDays(7);

            // add the default data to order
            _OrderData.CustomerId      = pRepair.CustomerID;
            _OrderData.ItemTypeID      = ItemTypeTbl.CONST_SERVICEITEMID;
            _OrderData.QuantityOrdered = 1;
            _OrderData.Notes           = "Collect/Swop out Machine for Service";

            // Calculate the Data from the customer details
            if (pCalcOrderData)
            {
                TrackerTools _TT = new TrackerTools();
                _OrderData.RoastDate = _TT.GetNextRoastDateByCustomerID(pRepair.CustomerID, ref _RequiredByDate);
                TrackerTools.ContactPreferedItems _ContactPreferedItems = _TT.RetrieveCustomerPrefs(pRepair.CustomerID);

                _OrderData.OrderDate      = DateTime.Now.Date;
                _OrderData.RequiredByDate = _RequiredByDate;
                if (_ContactPreferedItems.RequiresPurchOrder)
                {
                    _OrderData.PurchaseOrder = TrackerTools.CONST_POREQUIRED;
                }
                _OrderData.ToBeDeliveredBy = _ContactPreferedItems.DeliveryByID;
            }
            else
            {
                _OrderData.RoastDate      = _OrderData.OrderDate = DateTime.Now.Date;
                _OrderData.RequiredByDate = _RequiredByDate;
            }
            // save the data to the orders
            OrderTbl _Order = new OrderTbl();

            _Order.InsertNewOrderLine(_OrderData);
            pRepair.RelatedOrderID = _Order.GetLastOrderAdded(_OrderData.CustomerId, _OrderData.OrderDate, ItemTypeTbl.CONST_SERVICEITEMID);

            return(_Success);
        }
Beispiel #22
0
        public bool ResetReminderCount(long pCustomerID, bool pForceEnable)
        {
            bool   _Success       = false;
            string _connectionStr = ConfigurationManager.ConnectionStrings[QOnT.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                string _sqlCmd = CONST_SQL_CUSTOMERS_RESET_REMINDERCOUNT;
                if (pForceEnable)
                {
                    _sqlCmd += CONST_SQL_CUSTOMERS_RESET_REMINDERCOUNT_FORCEENABLE;
                }

                _sqlCmd += CONST_SQL_CUSTOMERS_RESET_REMINDERCOUNT_WHERE;

                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
                #region Parameters
                //     WHERE CustomerID = ?
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID, OleDbType = OleDbType.Integer
                });
                #endregion
                try
                {
                    _conn.Open();
                    _Success = (_cmd.ExecuteNonQuery() >= 0);
                }
                catch (OleDbException _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _Success = false;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_Success);
        }
Beispiel #23
0
/*
 *    OleDbConnection _conn = new OleDbConnection(_connectionString);
 *    // custoemr ZZname = 9 is a general customer name so condition must be to that
 *    string _sqlCmd = "SELECT [ItemTypeID], [QuantityOrdered], [PackagingID], [OrderID] FROM [OrdersTbl] WHERE ";
 *    if (CustomerId == 9)
 *      _sqlCmd += "([CustomerId] = 9) AND ([RequiredByDate] = ?) AND ([Notes] = ?)";
 *    else
 *      _sqlCmd += "([CustomerId] = ?) AND ([RequiredByDate] = ?)";
 *    // attach the command
 *    OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
 *    if (CustomerId == 9)
 *    {
 *      _cmd.Parameters.Add(new OleDbParameter { Value = DeliveryDate });
 *      _cmd.Parameters.Add(new OleDbParameter { Value = Notes });
 *    }
 *    else
 *    {
 *      _cmd.Parameters.Add(new OleDbParameter { Value = CustomerId });
 *      _cmd.Parameters.Add(new OleDbParameter { Value = DeliveryDate });
 *    }
 *    try
 *    {
 *      _conn.Open();
 *      OleDbDataReader _DataReader = _cmd.ExecuteReader();
 *      while (_DataReader.Read())
 *      {
 *        OrderDetailData od = new OrderDetailData();
 *
 *        od.ItemTypeID = (_DataReader["ItemTypeID"] == DBNull.Value) ? 0 : (Int32)_DataReader["ItemTypeID"];
 *        od.PackagingID = (_DataReader["PackagingID"] == DBNull.Value) ? 0 : (Int32)_DataReader["PackagingID"];
 *        od.OrderID = (Int32)_DataReader["OrderId"];   // this is the PK cannot be null
 *        od.QuantityOrdered = (_DataReader["QuantityOrdered"] == DBNull.Value) ? 1 : Math.Round(Convert.ToDouble(_DataReader["QuantityOrdered"]),2);
 *
 *        oDetails.Add(od);
 *      }
 *      _DataReader.Close();
 *    }
 *    catch (Exception _ex)
 *    {
 *      lastError = _ex.Message;
 *    }
 *    finally
 *    {
 *      _conn.Close();
 *    }
 *    return oDetails;
 *  }
 */
        /// <summary>
        /// Update Order Details, using the orderID update the line info.
        /// </summary>
        /// <param name="ItemTypeID"></param>
        /// <param name="QuantityOrdered"></param>
        /// <param name="PackagingID"></param>
        /// <param name="OrderID"></param>
        /// <returns></returns>
        public bool UpdateOrderDetails(Int64 OrderID, Int64 CustomerID, Int32 ItemTypeID, DateTime DeliveryDate, double QuantityOrdered, Int32 PackagingID)
        {
            bool      _Success = false;
            string    _sqlCmd  = "UPDATE OrdersTbl SET ItemTypeID = ?, QuantityOrdered = ?, PackagingID = ? WHERE (OrderId = ?)";
            TrackerDb _TDB     = new TrackerDb();

            // check if the item is a group item then get the next group.
            TrackerTools _TT = new TrackerTools();

            ItemTypeID = _TT.ChangeItemIfGroupToNextItemInGroup(CustomerID, ItemTypeID, DeliveryDate);

            _TDB.AddParams(ItemTypeID, DbType.Int32, "@ItemTypeID");
            _TDB.AddParams(Math.Round(QuantityOrdered, 2), DbType.Double, "@QuantityOrdered");
            _TDB.AddParams(PackagingID, DbType.Int32, "@PackagingID");
            _TDB.AddWhereParams(OrderID, DbType.Int64, "@OrderID");

            _Success = String.IsNullOrEmpty(_TDB.ExecuteNonQuerySQL(_sqlCmd));
            _TDB.Close();

            return(_Success);
        }
Beispiel #24
0
        /// <summary>
        /// Update the Customer Usage (ID passed as part of ClientUsage data) to reflect new values
        /// </summary>
        /// <param name="pClientUsage">Client Usage data for ClientUsage.CustomerID</param>
        /// <returns>blank or error strin</returns>
        public bool ForceNextCoffeeDate(DateTime pNextDate, long pCustomerID)
        {
            bool   _Success       = false;
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                string _sqlCmd = CONST_SQL_FORCENEXCOFFEETBY;

                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);
                #region Parameters
                // Add data sent NextCoffeeBy
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pNextDate, OleDbType = OleDbType.Date
                });
                //     WHERE CustomerID = ?
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID, OleDbType = OleDbType.Integer
                });
                #endregion
                try
                {
                    _conn.Open();
                    _Success = (_cmd.ExecuteNonQuery() >= 0);
                }
                catch (OleDbException _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _Success = false;
                }
                finally
                {
                    _conn.Close();
                }
            }
            return(_Success);
        }
Beispiel #25
0
        /// <summary>
        /// Updatge the cup count for this client
        /// </summary>
        /// <param name="pCustomerID">client customerid</param>
        /// <param name="pLastCupCount">cup count to be set</param>
        /// <returns></returns>
        public bool UpdateUsageCupCount(long pCustomerID, long pLastCupCount)
        {
            bool   _Success       = true;
            string _connectionStr = ConfigurationManager.ConnectionStrings[TrackerDotNet.classes.TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                string _sqlCmd = "UPDATE ClientUsageTbl SET LastCupCount = ? WHERE CustomerId = ?";

                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // prepare the qurey we have built
                #region Parameters
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pLastCupCount
                });
                // Where clause
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID
                });
                #endregion
                try
                {
                    _conn.Open();
                    _cmd.ExecuteNonQuery();
                }
                catch (Exception _ex)
                {
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                    _Success = false;
                    throw;
                }
                finally
                {
                    _conn.Close();
                }
                return(_Success);
            }
        }
        /*
         ****** Below are all the routine to do specific data retrival from ClientUsageLinesTBL  *****
         */
        /// <summary>
        /// Lookup the customers Install Date, ie the first date they used us. Otherwise set to min
        /// </summary>
        /// <param name="pCustomerID">the customer ID whose install date you want</param>
        /// <returns>the first date the customer has in record</returns>
        public DateTime LookupCustomerInstallDate(long pCustomerID)
        {
            DateTime _GetInstallDate = DateTime.MinValue; // NULLDATE
            string   _sqlCmd         = "SELECT MIN(ClientUsageLinesTbl.Date) FROM ClientUsageLinesTbl WHERE ClientUsageLinesTbl.CustomerID = ?";
            string   _connectionStr  = ConfigurationManager.ConnectionStrings[TrackerDb.CONST_CONSTRING].ConnectionString;

            using (OleDbConnection _conn = new OleDbConnection(_connectionStr))
            {
                OleDbCommand _cmd = new OleDbCommand(_sqlCmd, _conn);            // run the qurey we have built
                _cmd.Parameters.Add(new OleDbParameter {
                    Value = pCustomerID
                });

                try
                {
                    _conn.Open();
                    OleDbDataReader _DataReader = _cmd.ExecuteReader();
                    if (_DataReader.Read() && (_DataReader[0] != null))
                    {
                        _GetInstallDate = (DateTime)_DataReader[0];
                    }
                }
                catch (Exception _ex)
                {
                    // Handle exception.
                    TrackerTools _Tools = new TrackerTools();
                    _Tools.SetTrackerSessionErrorString(_ex.Message);
                }
                finally
                {
                    _conn.Close();
                }
            }

            return(_GetInstallDate);
        }
Beispiel #27
0
        protected void btnCreateUpdateLogTables_Click(object sender, EventArgs e)
        {
            TrackerTools _TT = new TrackerTools();

            _TT.ClearTrackerSessionErrorString();
            TrackerDb _TDB = new TrackerDb();

            // create LogTbl if it does not exist

            _TDB.CreateIfDoesNotExists(TrackerDb.SQLTABLENAME_LOGTBL);
            ltrlStatus.Visible = true;
            ltrlStatus.Text    = "Log table checked";
            if (_TT.IsTrackerSessionErrorString())
            {
                ltrlStatus.Text += " - Error: " + _TT.GetTrackerSessionErrorString();
                _TT.ClearTrackerSessionErrorString();
            }

            // list all the users that are not added
            PersonsTbl    _PersonsTbl = new PersonsTbl();
            List <string> _SecurityUsersNotInPeopleTbl = _PersonsTbl.SecurityUsersNotInPeopleTbl();

            pnlSetClinetType.Visible = true;
            gvCustomerTypes.Visible  = false;
            gvResults.DataSource     = _SecurityUsersNotInPeopleTbl;
            ResultsTitleLabel.Text   = "Security Users not in People Table ";
            if (_TT.IsTrackerSessionErrorString())
            {
                ltrlStatus.Text += " - Error: " + _TT.GetTrackerSessionErrorString();
                _TT.ClearTrackerSessionErrorString();
            }

            gvResults.DataBind();

            // create SectionTypesTbl if it does not exist
            if (_TDB.CreateIfDoesNotExists(TrackerDb.SQLTABLENAME_SECTIONTYPESTBL))
            {
                ltrlStatus.Text += "; Section Types table checked";
                if (_TT.IsTrackerSessionErrorString())
                {
                    ltrlStatus.Text += " - Error: " + _TT.GetTrackerSessionErrorString();
                    _TT.ClearTrackerSessionErrorString();
                }
                // add sections that do
                SectionTypesTbl _SectionTypeTbl = new SectionTypesTbl();
                if (_SectionTypeTbl.InsertDefaultSections())
                {
                    ltrlStatus.Text += " - default sections added.";
                }
                if (_TT.IsTrackerSessionErrorString())
                {
                    ltrlStatus.Text += " - Error: " + _TT.GetTrackerSessionErrorString();
                    _TT.ClearTrackerSessionErrorString();
                }
            }
            // create TransactionTypesTbl if it does not exists
            if (_TDB.CreateIfDoesNotExists(TrackerDb.SQLTABLENAME_TRANSACTIONTYPESTBL))
            {
                ltrlStatus.Text += "; Transaction Types table checked";
                if (_TT.IsTrackerSessionErrorString())
                {
                    ltrlStatus.Text += " - Error: " + _TT.GetTrackerSessionErrorString();
                    _TT.ClearTrackerSessionErrorString();
                }
                // add Transactions that do
                TransactionTypesTbl _TransactionTypeTbl = new TransactionTypesTbl();
                if (_TransactionTypeTbl.InsertDefaultTransactions())
                {
                    ltrlStatus.Text += " - default Transactions added.";
                }
                if (_TT.IsTrackerSessionErrorString())
                {
                    ltrlStatus.Text += " - Error: " + _TT.GetTrackerSessionErrorString();
                    _TT.ClearTrackerSessionErrorString();
                }
            }

            _TDB.Close();
        }
Beispiel #28
0
        protected void btnSetClientType_Click(object sender, EventArgs e)
        {
            pnlSetClinetType.Visible = true;
            gvCustomerTypes.Visible  = true;

            List <ContactsUpdated> _ContactsUpdated = new List <ContactsUpdated>();

            ClientUsageLinesTbl _ClientUsageLines = new ClientUsageLinesTbl();
            ItemUsageTbl        _ItemUsageTbl     = new ItemUsageTbl();
            ContactType         _Customer         = new ContactType();

            string _fName = "c:\\temp\\" + String.Format("SetClientType_{0:ddMMyyyy hh mm}.txt", DateTime.Now);

            _ColsStream = new StreamWriter(_fName, false); // create new file
            _ColsStream.WriteLine("Task, Company Name, origType, newType, PredDisabled");
            List <ContactType> _Customers = null;
            int i = 0;

            try
            {
                _Customers = _Customer.GetAllContacts("CompanyName"); // get all client sort by Company name
//        _Customers.RemoveAll(x => !x.IsEnabled);   // delete all the disabled clients

                List <int> _CoffeeClients     = GetAllCoffeeClientTypes();
                List <int> _ServiceOnlyClient = GetAllServiceOnlyClientTypes();

                // for each client check if they have ordered stuff and if so then set them as a particular client

                while (i < _Customers.Count)
                {
                    ContactsUpdated _Contact = new ContactsUpdated();
                    // only if they are enabled and not set to info only
                    if (_Customers[i].CustomerTypeID != CustomerTypeTbl.CONST_INFO_ONLY)
                    {
                        _Contact.ContactName        = _Customers[i].CompanyName;
                        _Contact.ContactTypeID      = _Customers[i].CustomerTypeID;
                        _Contact.origContactTypeID  = _Customers[i].CustomerTypeID;
                        _Contact.PredictionDisabled = _Customers[i].PredictionDisabled;

                        if (_Contact.ContactTypeID == 0) // type not set then assume coffee client.
                        {
                            _Contact.ContactTypeID = CustomerTypeTbl.CONST_COFFEE_ONLY;
                        }
                        // if they are currently marked as coffee client then check if they have ordered since their install date and with in the last year
                        if (_CoffeeClients.Contains(_Contact.ContactTypeID))
                        {
                            _Contact = CheckCoffeeCustomerIsOne(_Customers[i], _Contact);
                        }
                        else // customer is set to only be info or something so lets check if that is true
                        {
                            _Contact = CheckNoneCoffeeCustomer(_Customers[i], _Contact);
                        }
                        /// Has it changed? is fo update
                        if (!_Contact.ContactTypeID.Equals(_Contact.origContactTypeID))
                        {
                            // copy the values that could have change across since C cannot clone with out a class def so we use the temp class instead
                            _Customers[i].CustomerTypeID     = _Contact.ContactTypeID;
                            _Customers[i].PredictionDisabled = _Contact.PredictionDisabled;
                            string _Result = _Customers[i].UpdateContact(_Customers[i]);
                            _ContactsUpdated.Add(_Contact);
                            if (String.IsNullOrEmpty(_Result))
                            {
                                _ColsStream.WriteLine("Added {0}-{1}: {2}, {3}, {4}, {5}", i, _ContactsUpdated.Count, _Contact.ContactName, _Contact.origContactTypeID, _Contact.ContactTypeID, _Contact.PredictionDisabled);
                            }
                            else
                            {
                                _ColsStream.WriteLine("Error {0} Adding: {1}, {2}, {3}, {4}, {5}", _Result, i, _Result, _Contact.ContactName, _Contact.origContactTypeID, _Contact.ContactTypeID, _Contact.PredictionDisabled);
                            }
                        }
                    }
                    i++;
                }
            }
            catch (Exception _ex)
            {
                string _errStr = _ex.Message;

                TrackerTools _TT    = new TrackerTools();
                string       _TTErr = _TT.GetTrackerSessionErrorString();
                if (!String.IsNullOrWhiteSpace(_TTErr))
                {
                    _errStr += " TTError: " + _TTErr;
                }

                showMessageBox _exMsg = new showMessageBox(this.Page, "Error", _errStr);
                if (_Customers != null)
                {
                    _ColsStream.WriteLine("ERROR AT: {0}, Name: {1}, ID: {2}, Pred: {3}", i, _Customers[i].CompanyName, _Customers[i].CustomerTypeID, _Customers[i].PredictionDisabled);
                }
                else
                {
                    _ColsStream.WriteLine("null customers");
                }
                _ColsStream.WriteLine("Error:" + _errStr);
                throw;
            }
            finally
            {
                _ColsStream.Close();
            }

            showMessageBox _sMsg = new showMessageBox(this.Page, "Info", String.Format("A Total of {0}, contacts were updated", _ContactsUpdated.Count));

            ltrlStatus.Text        = String.Format("A Total of {0}, contacts were updated", _ContactsUpdated.Count);
            ltrlStatus.Visible     = true;
            ResultsTitleLabel.Text = "Set client type results";
            gvResults.DataSource   = _ContactsUpdated;
            gvResults.DataBind();
            // upnlSystemToolsButtons.Update();
        }
Beispiel #29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                long     _BoundCustomerId   = 1;
                DateTime _BoundDeliveryDate = DateTime.Now.Date;
                String   _BoundNotes        = String.Empty;

                if (Request.QueryString[CONST_QRYSTR_CUSTOMERID] != null)
                {
                    _BoundCustomerId = Convert.ToInt32(Request.QueryString[CONST_QRYSTR_CUSTOMERID].ToString());
                }
                if (Request.QueryString[CONST_QRYSTR_DELIVERYDATE] != null)
                {
                    _BoundDeliveryDate = Convert.ToDateTime(Request.QueryString[CONST_QRYSTR_DELIVERYDATE]).Date;
                }
                if (Request.QueryString[CONST_QRYSTR_NOTES] != null)
                {
                    _BoundNotes = Request.QueryString[CONST_QRYSTR_NOTES].ToString();
                }

                Session[OrderHeaderData.CONST_BOUNDCUSTOMERID]   = _BoundCustomerId;
                Session[OrderHeaderData.CONST_BOUNDDELIVERYDATE] = _BoundDeliveryDate.Date;
                Session[OrderHeaderData.CONST_BOUNDNOTES]        = _BoundNotes;
                Session[CONST_ORDERHEADERVALUES] = null;

                OrderItemTbl mine_ = new OrderItemTbl();

                // set the permissions
                MembershipUser _currMember = Membership.GetUser();
                btnOrderCancelled.Enabled = (_currMember.UserName.ToLower() == "warren");

                bool _EnableNew = User.IsInRole("Administrators") || User.IsInRole("AgentManager") || User.IsInRole("Agents");

                btnNewItem.Enabled = _EnableNew;
                TrackerTools _TT = new TrackerTools();

                _TT.SetTrackerSessionErrorString(string.Empty);
                if (Request.QueryString[CONST_QRYSTR_INVOICED] != null)
                {
                    if (Request.QueryString[CONST_QRYSTR_INVOICED].Equals("Y"))
                    {
                        MarkItemAsInvoiced();
                    }
                }
                else if (Request.QueryString[CONST_QRYSTR_DELIVERED] != null)
                {
                    if (Request.QueryString[CONST_QRYSTR_DELIVERED].Equals("Y"))
                    {
                        btnOrderDelivered_Click(sender, e);
                    }
                }
            }
            else
            {
                TrackerTools _TT       = new TrackerTools();
                string       _ErrorStr = _TT.GetTrackerSessionErrorString();
                if (!string.IsNullOrEmpty(_ErrorStr))
                {
                    showMessageBox _MsgBox = new showMessageBox(this.Page, "Tracker Error", "ERROR: " + _ErrorStr);
                    _TT.SetTrackerSessionErrorString(string.Empty);
                }
            }
        }
Beispiel #30
0
        //protected void MarkTempOrdersItemsAsDone(long pCustomerID)
        //{
        //  string _SQLUpdate = "UPDATE OrdersTbl SET OrdersTbl.Done = True WHERE CustomderId = " + pCustomerID.ToString() +
        //                         "AND EXISTS (SELECT RequiredByDate FROM TempOrdersHeaderTbl " +
        //                         "            WHERE (RequiredByDate = OrdersTbl.RequiredByDate))";

        //  TrackerDb _TrackerDb = new TrackerDb();
        //  _TrackerDb.ExecuteNonQuerySQL(_SQLUpdate);

        //  // ResetCustomerReminderCount(pCustomerId);
        //  //'''''''''''''
        //  //' mark orders as done - should do this last
        //  //'''
        //  //lblStatus.Caption = "Marking orders as done"
        //  //dbs.Execute ("UPDATE OrdersTbl SET OrdersTbl.Done = True " + _
        //  //             "WHERE (((Exists (Select TempOrdersTbl.OrderId from TempOrdersTbl where  " + _
        //  //                       "TempOrdersTbl.OrderId = OrdersTbl.OrderId))<>False))")
        //  //'''''''
        //  //'  Resetting count and enable, only if coffee item
        //  //'
        //  //dbs.Execute ("UPDATE DISTINCTROW CustomersTbl SET ReminderCount = 0, enabled = True WHERE CustomerID=" + lblCustomerID.Caption)
        //}

        // Logic for processing order as done:
        // 1. move items consumed from temp aable to the items consumed for the contact
        // 2. using the summary of the data on the form do calculations around predictions
        //    on when the contact needs items again.
        // 3. Notify client of items deliverred (add option to contacts table)
        // 4. return to the previous page.
        protected void btnDone_Click(object sender, EventArgs e)
        {
            const long MAXQTYINSTOCK = 50;

            TrackerTools _TrackerTools = new TrackerTools();

            _TrackerTools.SetTrackerSessionErrorString(string.Empty);

            Label    _CustomerIDLabel   = (Label)(fvOrderDone.FindControl("CustomerIDLabel"));
            Label    _CustomerNameLabel = (Label)(fvOrderDone.FindControl("CompanyNameLabel"));
            long     _CustomerID        = Convert.ToInt64(_CustomerIDLabel.Text);
            TextBox  _OrderDateLabel    = (TextBox)(fvOrderDone.FindControl("ByDateTextBox"));
            DateTime _OrderDate         = Convert.ToDateTime(_OrderDateLabel.Text);
            double   _CoffeeStock       = 0;
            // store the current data for display later:
            ClientUsageTbl _OriginalUsageDAL  = new ClientUsageTbl();
            ClientUsageTbl _OriginalUsageData = _OriginalUsageDAL.GetUsageData(_CustomerID);

            if (!string.IsNullOrEmpty(_TrackerTools.GetTrackerSessionErrorString()))
            {
                Response.Write(_TrackerTools.GetTrackerSessionErrorString());
            }

            TempOrdersDAL _TempOrdersDAL        = new TempOrdersDAL(); //
            bool          _HasCoffeeInTempOrder = _TempOrdersDAL.HasCoffeeInTempOrder();

            if (!string.IsNullOrEmpty(_TrackerTools.GetTrackerSessionErrorString()))
            {
                Response.Write(_TrackerTools.GetTrackerSessionErrorString());
            }

            /* NEED TO ADD Code to check for zzname */

            // check cup count not in wrong place
            if ((tbxStock.Text.Length > 0) && (Convert.ToInt64(tbxStock.Text) > MAXQTYINSTOCK))
            {
                ltrlStatus.Text = "<b>The stock quantity appears very high please check that you have enterred the correct value in kilograms.</b>";
            }
            else
            {
                _CoffeeStock = String.IsNullOrEmpty(tbxStock.Text) ? 0 : Convert.ToDouble(tbxStock.Text);

                // First we must get the latest cup count
                ltrlStatus.Text = "Calculating the latest cup count";
                GeneralTrackerDbTools _GeneralTrackerDb = new GeneralTrackerDbTools();

                GeneralTrackerDbTools.LineUsageData _LatestCustomerData = _GeneralTrackerDb.GetLatestUsageData(_CustomerID, TrackerTools.CONST_SERVTYPECOFFEE);
                if (!string.IsNullOrEmpty(_TrackerTools.GetTrackerSessionErrorString()))
                {
                    Response.Write(_TrackerTools.GetTrackerSessionErrorString());
                }

                bool _bIsActual = (tbxCount.MaxLength > 0); // if there is a cup count
                long _lCupCount = 0;
                if (tbxCount.MaxLength > 0)
                {
                    _lCupCount = Convert.ToInt64(tbxCount.Text);
                }

                // Calculate the cup count if we do not have it on the form or they entered a value that makes no sense
                if ((_lCupCount < 1) || (_lCupCount < _LatestCustomerData.LastCount))
                {
                    ltrlStatus.Text = "Calculating the latest est cup count";
                    _lCupCount      = _GeneralTrackerDb.CalcEstCupCount(_CustomerID, _LatestCustomerData, _HasCoffeeInTempOrder);
                    _bIsActual      = false;
                }

                //' add items to consumption log
                _lCupCount = AddItemsToClientUsageTbl(_CustomerID, _bIsActual, _lCupCount, _CoffeeStock, _OrderDate);

                // update the last cup count for the client
                if (!_OriginalUsageDAL.UpdateUsageCupCount(_CustomerID, _lCupCount))
                {
                    ltrlStatus.Text = "error updating last count";
                }

                // now update the predictions
                _GeneralTrackerDb.UpdatePredictions(_CustomerID, _lCupCount);

                // update all items in the order table as done that are done
                _TempOrdersDAL.MarkTempOrdersItemsAsDone();

                // reset count and enable client
                _GeneralTrackerDb.ResetCustomerReminderCount(_CustomerID, _HasCoffeeInTempOrder);
                // destroy the temp table that we used to create this temp orders
                _TempOrdersDAL.KillTempOrdersData();

                ShowResults(_CustomerNameLabel.Text, _CustomerID, _OriginalUsageData);
            }
        }