Example #1
0
        /// <summary>
        /// Francis Mingomba
        /// Created: 2019/04/03
        ///
        /// Adds Resort Property Type to database
        /// </summary>
        /// <param name="resortPropertyType">resort property type</param>
        /// <returns>id to new resort property type added to database</returns>
        public string AddResortPropertyType(ResortPropertyType resortPropertyType)
        {
            string id;

            var conn = DBConnection.GetDbConnection();

            const string cmdText = @"sp_create_resort_property_type";

            var cmd = new SqlCommand(cmdText, conn)
            {
                CommandType = CommandType.StoredProcedure
            };

            cmd.Parameters.AddWithValue("@ResortPropertyTypeId", resortPropertyType.ResortPropertyTypeId);

            try
            {
                conn.Open();

                id = Convert.ToString(cmd.ExecuteScalar());
            }
            finally
            {
                conn.Close();
            }

            return(id);
        }
Example #2
0
        private void BtnSave_OnClick(object sender, RoutedEventArgs e)
        {
            bool success = ValidateArgs();

            if (success)
            {
                var resortProperty = new ResortPropertyType
                {
                    ResortPropertyTypeId = txtResortPropertyType.Text
                };

                if (Save(resortProperty, out string errorStr))
                {
                    MessageBox.Show("Resort Property Type saved successfully");

                    RefreshFormAtCurrentIndex();

                    EnableDirectionNavigation();

                    ToggleNowCancelButtonToNew();
                }
                else
                {
                    MessageBox.Show(
                        $"{(_isBtnNewInNewMode ? "Failed to create resort property type" : "Failed to update resort property type")}\n{errorStr}");
                }
            }
            else
            {
                MessageBox.Show(_errorText);
            }
        }
Example #3
0
        /// <summary author="Francis Mingomba" created="2019/04/03">
        /// Updates Resort Property Type in database
        /// </summary>
        /// <param name="old">Old Resort Property Type</param>
        /// <param name="newResortPropertyType">New Resort Property Type</param>
        public void UpdateResortPropertyType(ResortPropertyType old, ResortPropertyType newResortPropertyType)
        {
            try
            {
                this.MeetsValidationCriteria(newResortPropertyType, GetValidationCriteria());

                _resortPropertyTypeAccessor.UpdateResortPropertyType(old, newResortPropertyType);
            }
            catch (Exception ex)
            {
                ExceptionLogManager.getInstance().LogException(ex);
                throw ex;
            }
        }
Example #4
0
        /// <summary author="Francis Mingomba" created="2019/04/03">
        ///Adds Resort Property Type to database
        /// </summary>
        /// <param name="resortPropertyType">resort property type object</param>
        /// <returns>id to new resort property type added</returns>
        public string AddResortPropertyType(ResortPropertyType resortPropertyType)
        {
            string resortPropertyTypeId;

            try
            {
                this.MeetsValidationCriteria(resortPropertyType, GetValidationCriteria());

                resortPropertyTypeId = _resortPropertyTypeAccessor.AddResortPropertyType(resortPropertyType);
            }
            catch (Exception ex)
            {
                ExceptionLogManager.getInstance().LogException(ex);
                throw ex;
            }

            return(resortPropertyTypeId);
        }
Example #5
0
        /// <summary>
        /// Francis Mingomba
        /// Created: 2019/04/03
        ///
        /// Retrieves Resort Property Type by Resort Property Type Id
        /// </summary>
        /// <param name="id">resort property type id</param>
        /// <returns>Resort Property Type object</returns>
        public ResortPropertyType RetrieveResortPropertyTypeById(string id)
        {
            ResortPropertyType resortPropertyType;

            var conn = DBConnection.GetDbConnection();

            const string cmdText = @"sp_select_resort_property_type_by_id";

            var cmd = new SqlCommand(cmdText, conn)
            {
                CommandType = CommandType.StoredProcedure
            };

            cmd.Parameters.AddWithValue("@ResortPropertyTypeId", id);

            try
            {
                conn.Open();

                SqlDataReader reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    reader.Read();

                    resortPropertyType = new ResortPropertyType()
                    {
                        ResortPropertyTypeId = reader.GetString(0)
                    };
                }
                else
                {
                    throw new ApplicationException("Resort Property Type not found.");
                }

                reader.Close();
            }
            finally
            {
                conn.Close();
            }

            return(resortPropertyType);
        }
Example #6
0
        /// <summary>
        /// Francis Mingomba
        /// Created: 2019/04/03
        ///
        /// Updates Resort Property Type in database
        /// </summary>
        /// <param name="old">old Resort Property Type (current database copy)</param>
        /// <param name="newResortPropertyType">new Resort Property Type (updated copy)</param>
        public void UpdateResortPropertyType(ResortPropertyType old, ResortPropertyType newResortPropertyType)
        {
            var conn = DBConnection.GetDbConnection();

            const string cmdText = @"sp_update_resort_property_type";

            var cmd = new SqlCommand(cmdText, conn)
            {
                CommandType = CommandType.StoredProcedure
            };

            cmd.Parameters.AddWithValue("@OldResortPropertyTypeId", old.ResortPropertyTypeId);

            cmd.Parameters.AddWithValue("@NewResortPropertyTypeId", newResortPropertyType.ResortPropertyTypeId);

            try
            {
                conn.Open();

                int result = cmd.ExecuteNonQuery();

                if (result == 0)
                {
                    // .. resort property type wasn't found or old and database copy did not match
                    throw new ApplicationException("Database: Resort property type not updated");
                }
                else if (result > 1)
                {
                    // .. protection against change in expected stored stored procedure behaviour
                    throw new ApplicationException("Fatal Error: More than one resort property type updated");
                }
            }
            finally
            {
                conn.Close();
            }
        }
Example #7
0
        private bool Save(ResortPropertyType resortPropertyType, out string errorStr)
        {
            try
            {
                errorStr = "";

                if (_isBtnNewInNewMode)
                {
                    _resortPropertyTypeManager.AddResortPropertyType(resortPropertyType);
                }
                else
                {
                    _resortPropertyTypeManager.UpdateResortPropertyType(_resortPropertyTypes[_currentIndex], resortPropertyType);
                }

                return(true);
            }
            catch (Exception e)
            {
                errorStr = $"{e.Message}\n{e.StackTrace}";
            }

            return(false);
        }