public async Task <IHttpActionResult> Replace(int id, BrakeConfigInputModel model) { BrakeConfig brakeConfig = new BrakeConfig() { Id = model.Id, FrontBrakeTypeId = model.FrontBrakeTypeId, RearBrakeTypeId = model.RearBrakeTypeId, BrakeABSId = model.BrakeABSId, BrakeSystemId = model.BrakeSystemId, VehicleToBrakeConfigs = model.VehicleToBrakeConfigs.Select(item => new VehicleToBrakeConfig { BrakeConfigId = item.BrakeConfigId, Id = item.Id, VehicleId = item.VehicleId }).ToList(), }; CommentsStagingModel comment = new CommentsStagingModel { Comment = model.Comment }; var attachments = SetUpAttachmentsModels(model.Attachments); var changeRequestId = await _brakeConfigApplicationService.ReplaceAsync(brakeConfig, id, CurrentUser.Email, comment, attachments); return(Ok(changeRequestId)); }
public async Task <IHttpActionResult> Post(int id, BrakeConfigInputModel model) { BrakeConfig brakeConfig = new BrakeConfig() { Id = model.Id, VehicleToBrakeConfigCount = model.VehicleToBrakeConfigCount }; CommentsStagingModel comment = new CommentsStagingModel() { Comment = model.Comment, }; var attachments = SetUpAttachmentsModels(model.Attachments); var changeRequestId = await _brakeConfigApplicationService.DeleteAsync(brakeConfig, id, CurrentUser.Email, comment, attachments); return(Ok(changeRequestId)); }
private async Task UpdateVehicleToBrakeConfigDocuments(BrakeConfig updatedBrakeConfig) { bool isEndReached = false; int pageNumber = 1; do { var vehicleToBrakeConfigSearchResult = await _vehicletoBrakeConfigSearchService.SearchAsync(null, $"brakeConfigId eq {updatedBrakeConfig.Id}", new SearchOptions() { RecordCount = 1000, PageNumber = pageNumber }); var existingVehicleToBrakeConfigDocuments = vehicleToBrakeConfigSearchResult.Documents; if (existingVehicleToBrakeConfigDocuments != null && existingVehicleToBrakeConfigDocuments.Any()) { foreach (var existingVehicleToBrakeConfigDocument in existingVehicleToBrakeConfigDocuments) { existingVehicleToBrakeConfigDocument.BrakeConfigChangeRequestId = -1; existingVehicleToBrakeConfigDocument.FrontBrakeTypeId = updatedBrakeConfig.FrontBrakeTypeId; existingVehicleToBrakeConfigDocument.FrontBrakeTypeName = updatedBrakeConfig.FrontBrakeType.Name; existingVehicleToBrakeConfigDocument.RearBrakeTypeId = updatedBrakeConfig.RearBrakeTypeId; existingVehicleToBrakeConfigDocument.RearBrakeTypeName = updatedBrakeConfig.RearBrakeType.Name; existingVehicleToBrakeConfigDocument.BrakeABSId = updatedBrakeConfig.BrakeABSId; existingVehicleToBrakeConfigDocument.BrakeABSName = updatedBrakeConfig.BrakeABS.Name; existingVehicleToBrakeConfigDocument.BrakeSystemId = updatedBrakeConfig.BrakeSystemId; existingVehicleToBrakeConfigDocument.BrakeSystemName = updatedBrakeConfig.BrakeSystem.Name; } await this._vehicleToBrakeConfigIndexingService.UploadDocumentsAsync(existingVehicleToBrakeConfigDocuments.ToList()); pageNumber++; } else { isEndReached = true; } } while (!isEndReached); }
public async Task <IHttpActionResult> Post(BrakeConfigInputModel model) { BrakeConfig brakeConfig = new BrakeConfig() { Id = model.Id, FrontBrakeTypeId = model.FrontBrakeTypeId, RearBrakeTypeId = model.RearBrakeTypeId, BrakeABSId = model.BrakeABSId, BrakeSystemId = model.BrakeSystemId }; CommentsStagingModel comment = new CommentsStagingModel() { Comment = model.Comment }; var attachments = SetUpAttachmentsModels(model.Attachments); var changeRequestId = await _brakeConfigApplicationService.AddAsync(brakeConfig, CurrentUser.Email, comment, attachments); return(Ok(changeRequestId)); }
public override async Task <long> SubmitAddChangeRequestAsync(VehicleToBrakeConfig entity, string requestedBy, List <ChangeRequestItemStaging> changeRequestItemStagings = null, CommentsStagingModel comment = null, List <AttachmentsModel> attachmentsStagingModels = null, string changeContent = null) { if (entity.VehicleId.Equals(default(int)) || entity.BrakeConfigId.Equals(default(int))) { throw new ArgumentException(nameof(entity)); } changeRequestItemStagings = changeRequestItemStagings ?? new List <ChangeRequestItemStaging>(); // Validation check for insert of new vehicle to brake config StringBuilder validationErrorMessage = new StringBuilder(); await ValidateVehicleToBrakeConfigHasNoChangeReqeuest(entity); await ValidateVehicleToBrakeConfigLookUpHasNoChangeRequest(entity); changeRequestItemStagings.Add(new ChangeRequestItemStaging() { ChangeType = ChangeType.Add, EntityId = entity.Id.ToString(), CreatedDateTime = DateTime.UtcNow, Entity = typeof(VehicleToBrakeConfig).Name, Payload = base.Serializer.Serialize(entity) }); var vehicleRepositoryService = Repositories.GetRepositoryService <Vehicle>() as IVcdbSqlServerEfRepositoryService <Vehicle>; var brakeConfigRepositoryService = Repositories.GetRepositoryService <BrakeConfig>() as IVcdbSqlServerEfRepositoryService <BrakeConfig>; Vehicle vehicle = null; BrakeConfig brakeConfig = null; if (vehicleRepositoryService != null && brakeConfigRepositoryService != null) { var vehicles = await vehicleRepositoryService.GetAsync(m => m.Id == entity.VehicleId && m.DeleteDate == null, 1); if (vehicles != null && vehicles.Any()) { vehicle = vehicles.First(); } var brakeConfigs = await brakeConfigRepositoryService.GetAsync(m => m.Id == entity.BrakeConfigId && m.DeleteDate == null, 1); if (brakeConfigs != null && brakeConfigs.Any()) { brakeConfig = brakeConfigs.First(); } } changeContent = string.Format("{0} / {1} / {2} / {3} / {4} => \n{5} / {6} / {7} / {8}" , vehicle.BaseVehicle.YearId , vehicle.BaseVehicle.Make.Name , vehicle.BaseVehicle.Model.Name , vehicle.SubModel.Name , vehicle.Region.Name , brakeConfig.FrontBrakeType.Name , brakeConfig.RearBrakeType.Name , brakeConfig.BrakeABS.Name , brakeConfig.BrakeSystem.Name); // NOTE: change-request-comments-staging perfomed on base return(await base.SubmitAddChangeRequestAsync(entity, requestedBy, changeRequestItemStagings, comment, attachmentsStagingModels, changeContent)); }