/// <summary>
        /// Creator: Jordan Lindo
        /// Created: 3//2020
        /// Approver: Chase Schulte
        ///
        /// Inserts a base scchedule and deacitveats the old schedule
        /// </summary>
        /// <remarks>
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        /// </remarks>
        /// <param name="baseScheduleVM"></param>
        /// <returns></returns>
        public int AddBaseSchedule(BaseScheduleVM baseScheduleVM)
        {
            int  result    = 0;
            bool goodCount = true;

            foreach (BaseScheduleLine line in baseScheduleVM.BaseScheduleLines)
            {
                if (goodCount && line.Count < 0)
                {
                    goodCount = false;
                }
            }

            try
            {
                if (goodCount)
                {
                    result = _baseScheduleAccessor.InsertBaseScheduleVM(baseScheduleVM);
                }
                else
                {
                    throw new ApplicationException("A count entered is invalid");
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Base Schedule not added.", ex);
            }
            return(result);
        }
        public void AddBaseScheduleTestGood()
        {
            IBaseScheduleManager baseScheduleManager = new BaseScheduleManager(_baseScheduleAccessor);
            BaseScheduleVM       goodVM = new BaseScheduleVM()
            {
                Active            = true,
                BaseScheduleID    = 1000001,
                CreatingUserID    = 100000,
                CreationDate      = DateTime.Now,
                BaseScheduleLines = new List <BaseScheduleLine>()
                {
                    new BaseScheduleLine()
                    {
                        BaseScheduleID = 1000001,
                        DepartmentID   = "Management",
                        ERoleID        = "Manager",
                        ShiftTimeID    = 1000000,
                        Count          = 1
                    },
                    new BaseScheduleLine()
                    {
                        BaseScheduleID = 1000001,
                        DepartmentID   = "Sales",
                        ERoleID        = "Cashier",
                        ShiftTimeID    = 1000004,
                        Count          = 6
                    }
                }
            };

            int result = baseScheduleManager.AddBaseSchedule(goodVM);


            Assert.AreEqual(true, (result != 0));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creator: Jordan Lindo
        /// Created: 3/17/2020
        /// Approver: Chase Schulte
        ///
        /// Fake insert
        /// </summary>
        /// <remarks>
        /// Updater: Zach Behrensmeyer
        /// Updated: 4/9/2020
        /// Update: Added if else block and result value to logic
        ///
        /// </remarks>
        /// <param name="baseScheduleVM"></param>
        /// <returns></returns>
        public int InsertBaseScheduleVM(BaseScheduleVM baseScheduleVM)
        {
            int result = 0;

            if (baseScheduleVM != null)
            {
                _baseSchedules.Add(baseScheduleVM);
                result = 1;
            }
            else
            {
                throw new ApplicationException("Could not insert data");
            }
            return(result);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Creator: Jordan Lindo
 /// Created: 4/8/2020
 /// Approver:
 ///
 /// Gets the current base schedule.
 /// </summary>
 /// <remarks>
 /// Updater: NA
 /// Updated: NA
 /// Update: NA
 ///
 /// </remarks>
 private void getBaseSchedule()
 {
     try
     {
         _baseScheduleVM = _baseScheduleManager.GetActiveBaseSchedule();
         if (_baseScheduleVM == null)
         {
             throw new ApplicationException("No base schedule stored. Please set one.");
         }
     }
     catch (Exception ex)
     {
         WPFErrorHandler.ErrorMessage("Data not found. " + ex.Message);
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// Creator: Jordan Lindo
 /// Created: 3/18/2020
 /// Approver:  Chase Schulte
 ///
 /// This is a method gets the active base schedule.
 /// </summary>
 /// <remarks>
 /// Updater: NA
 /// Updated: NA
 /// Update: NA
 ///
 /// </remarks>
 private void getBaseScheduleVM()
 {
     try
     {
         _baseScheduleVM = _baseScheduleManager.GetActiveBaseSchedule();
         if (null != _baseScheduleVM)
         {
             _lines = _baseScheduleVM.BaseScheduleLines;
         }
     }
     catch (Exception ex)
     {
         WPFErrorHandler.ErrorMessage("Data not found.", ex.Message);
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Creator: Jordan Lindo
        /// Created: 3/15/2020
        /// Approver: Chase Schulte
        ///
        /// Retrieves the active base schedule.
        /// </summary>
        /// <remarks>
        /// Updater: NA
        /// Updated: NA
        /// Update: NA
        ///
        /// </remarks>
        /// <returns></returns>
        public BaseScheduleVM RetrieveActiveBaseSchedule()
        {
            BaseScheduleVM baseScheduleVM = null;


            var conn = DBConnection.GetConnection();
            var cmd  = new SqlCommand("sp_select_active_baseschedule", conn);

            cmd.CommandType = CommandType.StoredProcedure;
            try
            {
                conn.Open();
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    baseScheduleVM = new BaseScheduleVM()
                    {
                        BaseScheduleID = reader.GetInt32(0),
                        CreatingUserID = reader.GetInt32(1),
                        CreationDate   = reader.GetDateTime(2),
                        Active         = reader.GetBoolean(3)
                    };
                }
                if (null != baseScheduleVM)
                {
                    baseScheduleVM.BaseScheduleLines =
                        RetrieveBaseScheduleLinesByBaseScheduleID(baseScheduleVM.BaseScheduleID);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }


            return(baseScheduleVM);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Creator: Jordan Lindo
        /// Created: 4/1/2020
        /// Approver: Chase Schulte
        ///
        /// This stores the changes in the data store.
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        ///
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSetBaseSchedule_Click(object sender, RoutedEventArgs e)
        {
            BaseScheduleVM newBaseScheduleVM = new BaseScheduleVM
            {
                BaseScheduleLines = _newLines,
                CreatingUserID    = _user.PUUserID,
                CreationDate      = DateTime.Now
            };

            try
            {
                _baseScheduleManager.AddBaseSchedule(newBaseScheduleVM);
                getBaseScheduleVM();
                WPFErrorHandler.SuccessMessage("Base Schedule Added.");
                setNewLines();
                setDataGird();
            }
            catch (Exception ex)
            {
                WPFErrorHandler.ErrorMessage("Schedule not added. " + ex.Message);
            }
        }
        public void GetActiveBaseSchedule()
        {
            IBaseScheduleManager baseScheduleManager = new BaseScheduleManager(_baseScheduleAccessor);

            BaseScheduleVM vM = new BaseScheduleVM()
            {
                Active         = true,
                BaseScheduleID = 1000000,
                CreatingUserID = 100000,
                CreationDate   = DateTime.Parse("2020-01-03")
            };
            bool success = false;

            BaseScheduleVM otherVM = baseScheduleManager.GetActiveBaseSchedule();

            if (vM.BaseScheduleID == otherVM.BaseScheduleID && vM.CreatingUserID == otherVM.CreatingUserID &&
                vM.CreationDate.Equals(otherVM.CreationDate))
            {
                success = true;
            }

            Assert.AreEqual(true, success);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Creator: Jordan Lindo
        /// Created: 3/15/2020
        /// Approver: Chase Schulte
        ///
        /// Inserts a new base schedule.
        /// sp_insert_baseschedule deactivates old base schedules if the insert is
        /// successfull.
        /// </summary>
        /// <remarks>
        /// Updater: Jordan Lindo
        /// Updated: 4/1/2020
        /// Update: fixed the cast for the return from cmd
        ///
        /// </remarks>
        /// <param name="baseScheduleVM"></param>
        /// <returns></returns>
        public int InsertBaseScheduleVM(BaseScheduleVM baseScheduleVM)
        {
            var conn = DBConnection.GetConnection();
            var cmd  = new SqlCommand("sp_insert_baseschedule", conn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@CreatingUserID", baseScheduleVM.CreatingUserID);
            cmd.Parameters.AddWithValue("@CreationDate", baseScheduleVM.CreationDate);

            try
            {
                conn.Open();
                var result = cmd.ExecuteScalar();
                baseScheduleVM.BaseScheduleID = int.Parse(result.ToString());

                foreach (var line in baseScheduleVM.BaseScheduleLines)
                {
                    var cmd2 = new SqlCommand("sp_insert_basescheduleline", conn);
                    cmd2.CommandType = CommandType.StoredProcedure;
                    cmd2.Parameters.AddWithValue("@ERoleID", line.ERoleID);
                    cmd2.Parameters.AddWithValue("@BaseScheduleID", baseScheduleVM.BaseScheduleID);
                    cmd2.Parameters.AddWithValue("@ShiftTimeID", line.ShiftTimeID);
                    cmd2.Parameters.AddWithValue("@Count", line.Count);
                    cmd2.ExecuteNonQuery();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }
            return(baseScheduleVM.BaseScheduleID);
        }