public NTStatus GetFileInformation(out QueryInformation result, object handle, QueryInformationLevel informationLevel) { result = null; int maxOutputLength = 4096; Transaction2QueryFileInformationRequest subcommand = new Transaction2QueryFileInformationRequest(); subcommand.FID = (ushort)handle; subcommand.QueryInformationLevel = informationLevel; Transaction2Request request = new Transaction2Request(); request.Setup = subcommand.GetSetup(); request.TransParameters = subcommand.GetParameters(m_client.Unicode); request.TransData = subcommand.GetData(m_client.Unicode); request.TotalDataCount = (ushort)request.TransData.Length; request.TotalParameterCount = (ushort)request.TransParameters.Length; request.MaxParameterCount = Transaction2QueryFileInformationResponse.ParametersLength; request.MaxDataCount = (ushort)maxOutputLength; TrySendMessage(request); SMB1Message reply = m_client.WaitForMessage(CommandName.SMB_COM_TRANSACTION2); if (reply != null) { if (reply.Header.Status == NTStatus.STATUS_SUCCESS && reply.Commands[0] is Transaction2Response) { Transaction2Response response = (Transaction2Response)reply.Commands[0]; Transaction2QueryFileInformationResponse subcommandResponse = new Transaction2QueryFileInformationResponse(response.TransParameters, response.TransData, reply.Header.UnicodeFlag); result = subcommandResponse.GetQueryInformation(informationLevel); } return(reply.Header.Status); } return(NTStatus.STATUS_INVALID_SMB); }
public void Delete() { QueryInformation query; if (this.Id == Guid.Empty) { Debug.WriteLine("Error: You can delete this record as an actual Database record doesn't exist for it. EnhancementModel : Delete()"); return; } //We need to delete any associated records before deleting this one //TODO: EnhancementRankModel.DeleteAllbyEnhancementId(this.Id); //TODO: EnhancementRankModifierModel.DeleteAllByEnhancementId(this.Id); //TODO: EnhancementRankRequirementModel.DeleteAllByEnhancementId(this.Id); //we need to remove any Enhancement entries in other tables for this feat query = QueryInformation.Create(EnhancementModel.DeleteQuery); query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + EnhancementModel.IdField, DbType.Guid, this.Id)); BaseModel.RunCommand(query); //lets rest the id to empty so that the model knows it is now a new record if the save method is called. this.Id = Guid.Empty; }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(EnhancementModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(EnhancementModel.UpdateQuery); } query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + EnhancementModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + EnhancementModel.EnhancementSlotIdField, DbType.Guid, this.EnhancementSlotId)); query.Parameters.Add(new QueryParameter("@" + EnhancementModel.DisplayOrderField, DbType.Byte, this.DisplayOrder)); query.Parameters.Add(new QueryParameter("@" + EnhancementModel.NameField, DbType.String, this.Name)); query.Parameters.Add(new QueryParameter("@" + EnhancementModel.APCostField, DbType.Int16, this.APCost)); query.Parameters.Add(new QueryParameter("@" + EnhancementModel.IconField, DbType.String, this.Icon)); if (StanceId == Guid.Empty) { query.Parameters.Add(new QueryParameter("@" + EnhancementModel.StanceIdField, DbType.Guid, null)); } else { query.Parameters.Add(new QueryParameter("@" + EnhancementModel.StanceIdField, DbType.Guid, this.StanceId)); } query.Parameters.Add(new QueryParameter("@" + EnhancementModel.LastUpdatedDateField, DbType.DateTime, DateTime.Now)); query.Parameters.Add(new QueryParameter("@" + EnhancementModel.LastUpdatedVersionField, DbType.String, Constant.PlannerVersion)); BaseModel.RunCommand(query); }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(ClassLevelDetailModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(ClassLevelDetailModel.UpdateQuery); } //update the last modified fields LastUpdatedDate = DateTime.Now; LastUpdatedVersion = Constant.PlannerVersion; query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.ClassIdField, DbType.Guid, this.ClassId)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.LevelField, DbType.Byte, this.Level)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.FortitudeSaveField, DbType.Int32, this.FortitudeSave)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.ReflexSaveField, DbType.Int32, this.ReflexSave)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.WillSaveField, DbType.Int32, this.WillSave)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.BaseAttackBonusField, DbType.Int32, this.BaseAttackBonus)); query.Parameters.Add(new QueryParameter("@" + ClassLevelDetailModel.FeatTypeIdField, DbType.Guid, this.FeatTypeId)); query.Parameters.Add(new QueryParameter("@" + LastUpdatedDateField, DbType.DateTime, LastUpdatedDate)); query.Parameters.Add(new QueryParameter("@" + LastUpdatedVersionField, DbType.String, LastUpdatedVersion)); BaseModel.RunCommand(query); }
public void Save() { QueryInformation query; if (Id == Guid.Empty) { query = QueryInformation.Create(InsertQuery); Id = Guid.NewGuid(); } else { query = QueryInformation.Create(UpdateQuery); } //update the last modified fields LastUpdatedDate = DateTime.Now; LastUpdatedVersion = Constant.PlannerVersion; query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + IdField, DbType.Guid, Id)); query.Parameters.Add(new QueryParameter("@" + TypeField, DbType.String, TomeType)); query.Parameters.Add(new QueryParameter("@" + ModifiedIDField, DbType.Guid, ModifiedID)); query.Parameters.Add(new QueryParameter("@" + MinLevelField, DbType.Int16, MinLevel)); query.Parameters.Add(new QueryParameter("@" + NameField, DbType.String, TomeName)); query.Parameters.Add(new QueryParameter("@" + LongNameField, DbType.String, TomeLongName)); query.Parameters.Add(new QueryParameter("@" + BonusField, DbType.Int16, TomeBonus)); query.Parameters.Add(new QueryParameter("@" + LastUpdatedDateField, DbType.DateTime, LastUpdatedDate)); query.Parameters.Add(new QueryParameter("@" + LastUpdatedVersionField, DbType.String, LastUpdatedVersion)); BaseModel.RunCommand(query); return; }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(FeatRequirementModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(FeatRequirementModel.UpdateQuery); } query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.FeatIdField, DbType.Guid, this.FeatId)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.RequireAllField, DbType.Boolean, this.RequireAll)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.LastUpdatedDateField, DbType.DateTime, DateTime.Now)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.LastUpdatedVersionField, DbType.String, Constant.PlannerVersion)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.RequirementIdField, DbType.Guid, this.RequirementId)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.ValueField, DbType.Double, this.Value)); query.Parameters.Add(new QueryParameter("@" + FeatRequirementModel.ComparisonField, DbType.String, this.Comparison)); BaseModel.RunCommand(query); }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(EnhancementRankRequirementModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(EnhancementRankRequirementModel.UpdateQuery); } query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.EnhancementRankIdField, DbType.Guid, this.EnhancementRankId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.RequireAllField, DbType.Boolean, this.RequireAll)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.LastUpdatedDateField, DbType.DateTime, DateTime.Now)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.LastUpdatedVersionField, DbType.String, Constant.PlannerVersion)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.RequirementIdField, DbType.Guid, this.RequirementId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.RequirementValueField, DbType.Double, this.RequirementValue)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankRequirementModel.ComparisonField, DbType.String, this.Comparison)); BaseModel.RunCommand(query); //This is for testing purposes, remove when done Debug.WriteLine("Record has been saved: " + this.Id); }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(RaceLevelDetailModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(RaceLevelDetailModel.UpdateQuery); } //update the last modified fields LastUpdatedDate = DateTime.Now; LastUpdatedVersion = Constant.PlannerVersion; query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.RaceIdField, DbType.Guid, this.RaceId)); query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.LevelField, DbType.Int32, this.Level)); if (FeatTypeId == Guid.Empty) { query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.FeatTypeIdField, DbType.Guid, null)); } else { query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.FeatTypeIdField, DbType.Guid, this.FeatTypeId)); } query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.BonusSkillPointsField, DbType.Int32, this.BonusSkillPoints)); query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.LastUpdatedDateField, DbType.DateTime, this.LastUpdatedDate)); query.Parameters.Add(new QueryParameter("@" + RaceLevelDetailModel.LastUpdatedVersionField, DbType.String, this.LastUpdatedVersion)); BaseModel.RunCommand(query); }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(EnhancementSlotModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(EnhancementSlotModel.UpdateQuery); } query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.EnhancementTreeIdField, DbType.Guid, this.EnhancementTreeId)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.SlotIndexField, DbType.Int32, this.SlotIndex)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.APRequirementField, DbType.Int32, this.APRequirement)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.NameField, DbType.String, this.Name)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.DescriptionField, DbType.String, this.Description)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.IconField, DbType.String, this.Icon)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.ActiveField, DbType.Boolean, this.Active)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.LastUpdatedDateField, DbType.DateTime, DateTime.Now)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.LastUpdatedVersionField, DbType.String, Constant.PlannerVersion)); query.Parameters.Add(new QueryParameter("@" + EnhancementSlotModel.UseEnhancementInfoField, DbType.Boolean, this.UseEnhancementInfo)); BaseModel.RunCommand(query); }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(CharacterBonusFeatModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(CharacterBonusFeatModel.UpdateQuery); } //update the last modified fields LastUpdatedDate = DateTime.Now; LastUpdatedVersion = Constant.PlannerVersion; query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + CharacterBonusFeatModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + CharacterBonusFeatModel.FeatIdField, DbType.Guid, this.FeatId)); query.Parameters.Add(new QueryParameter("@" + CharacterBonusFeatModel.IgnorePreReqsField, DbType.Boolean, this.IgnorePreRequirements)); query.Parameters.Add(new QueryParameter("@" + CharacterBonusFeatModel.LevelField, DbType.Byte, this.Level)); query.Parameters.Add(new QueryParameter("@" + CharacterBonusFeatModel.LastUpdatedDateField, DbType.DateTime, this.LastUpdatedDate)); query.Parameters.Add(new QueryParameter("@" + CharacterBonusFeatModel.LastUpdatedVersionField, DbType.String, this.LastUpdatedVersion)); BaseModel.RunCommand(query); }
public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(FeatCategoryModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(FeatCategoryModel.UpdateQuery); } query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.NameField, DbType.String, this.Name)); query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.DescriptionField, DbType.String, this.Description)); query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.ParentFeatCategoryIdField, DbType.Guid, this.ParentFeatCategoryId)); query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.LastUpdatedDateField, DbType.DateTime, DateTime.Now)); query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.LastUpdatedVersionField, DbType.String, Constant.PlannerVersion)); query.Parameters.Add(new QueryParameter("@" + FeatCategoryModel.IconNameField, DbType.String, this.IconName)); BaseModel.RunCommand(query); }
public void Delete() { QueryInformation query; //alignments query = QueryInformation.Create(ClassModel.DeleteAlignmentsQuery); query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + ClassModel.IdField, DbType.Guid, this.Id)); BaseModel.RunCommand(query); //class skills query = QueryInformation.Create(ClassModel.DeleteClassSkillsQuery); query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + ClassModel.IdField, DbType.Guid, this.Id)); BaseModel.RunCommand(query); //level details Array.ForEach(LevelDetails, item => item.Delete()); //record query = QueryInformation.Create(ClassModel.DeleteQuery); query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + ClassModel.IdField, DbType.Guid, this.Id)); BaseModel.RunCommand(query); }
public ClassModel() { QueryInformation query; List <string> destinyNames; DestinySphereModel DefaultDestiny; //set up default values for properties where needed Name = DefaultName; Abbreviation = DefaultAbbreviation; //starting destiny sphere destinyNames = DestinySphereModel.GetNames(); DefaultDestiny = new DestinySphereModel(); DefaultDestiny.Initialize(destinyNames[0]); MaxSpellLevel = 0; StartingDestinySphereId = DefaultDestiny.Id; ImageFilename = DefaultImageFilename; Description = DefaultDescription; LevelDetails = new ClassLevelDetailModel[Constant.NumHeroicLevels]; for (int i = 0; i < Constant.NumHeroicLevels; i++) { LevelDetails[i] = new ClassLevelDetailModel(); } //the sequence and reincarnation priority number (default to last record in sequence) query = QueryInformation.Create(ClassModel.CountQuery); query.CommandType = CommandType.Text; Sequence = BaseModel.GetCount(query); ReincarnationPriority = Sequence; }
public static IQueryInformation GetQueryInformation(this IEnumerable <KeyValuePair <string, StringValues> > query) { var info = new QueryInformation(); foreach (var pair in query) { var key = pair.Key.ToLower(); switch (key) { case "filter": info.Filter = pair.Value; break; case "sort": info.Sort = pair.Value; break; case "pagesize": if (int.TryParse(pair.Value, out var pageSize)) { info.PageSize = pageSize; } break; case "skippages": if (int.TryParse(pair.Value, out var skipPages)) { info.SkipPages = skipPages; } break; } } return(info); }
/// <summary> /// Saves the currently loaded EnhancementRankModifier /// </summary> public void Save() { QueryInformation query; if (this.Id == Guid.Empty) { query = QueryInformation.Create(EnhancementRankModifierModel.InsertQuery); this.Id = Guid.NewGuid(); } else { query = QueryInformation.Create(EnhancementRankModifierModel.UpdateQuery); } query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.IdField, DbType.Guid, this.Id)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.EnhancementRankIdField, DbType.Guid, this.EnhancementRankId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.ModifierIdField, DbType.Guid, this.ModifierId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.ModifierTypeField, DbType.Byte, this.ModifierType)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.ModifierMethodIdField, DbType.Guid, this.ModifierMethodId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.PullFromIdField, DbType.Guid, this.PullFromId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.ModifierValueField, DbType.Double, this.ModifierValue)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.BonusTypeIdField, DbType.Guid, this.BonusTypeId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.RequirementIdField, DbType.Guid, this.RequirementId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.StanceIdField, DbType.Guid, this.StanceId)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.ComparisonField, DbType.String, this.Comparison)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.RequirementValueField, DbType.Double, this.RequirementValue)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.LastUpdatedDateField, DbType.DateTime, DateTime.Now)); query.Parameters.Add(new QueryParameter("@" + EnhancementRankModifierModel.LastUpdatedVersionField, DbType.String, Constant.PlannerVersion)); BaseModel.RunCommand(query); }
public void Delete() { QueryInformation query; if (this.Id == Guid.Empty) { Debug.WriteLine("Error: You can't delete this record as one doesn't exist for it. StanceModel:Delete()"); return; } //We need to delete any associated records first before deleteing this Stance record //TODO: FeatModifierModel.DeleteAllByStanceId(this.id); //TODO: EnhancementRankModel.DeleteAllByStanceId(this.id); //TODO: DestinyRankModel.DeleteAllByStanceId(this.id); //We need to update any associated records first before deleting this Stance Record //TODO: FeatModel.UpdateStanceIdWithNull(this.Id); //TODO: Enhancement.UpdateStanceIdWithNull(this.Id); query = QueryInformation.Create(StanceModel.DeleteQuery); query.CommandType = CommandType.Text; query.Parameters.Add(new QueryParameter("@" + StanceModel.IdField, DbType.Guid, this.Id)); BaseModel.RunCommand(query); //reset the id so that the model knows it is a new record if someone tries to call the save() method afterwards. this.Id = Guid.Empty; }