/// <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); }
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); } }
/// <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; } }
/// <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); }
/// <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); }
/// <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(); } }
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); }