private CreateOrUpdateMaterialDefinitionExt.Response CreateOrUpdateMaterialDefinitionExtHandler(CreateOrUpdateMaterialDefinitionExt command) { var response = new CreateOrUpdateMaterialDefinitionExt.Response(); var MaterialDefinitionExt = Platform.Query <IMaterialDefinitionExt>().FirstOrDefault(t => t.MaterialDefinitionId == command.MaterialDefinitionId); if (MaterialDefinitionExt == null) { MaterialDefinitionExt = Platform.Create <IMaterialDefinitionExt>(); MaterialDefinitionExt.MaterialDefinitionId = command.MaterialDefinitionId; MaterialDefinitionExt.Customized = command.Customized; Platform.Submit(MaterialDefinitionExt); } else { if (MaterialDefinitionExt.Customized != command.Customized) { MaterialDefinitionExt.Customized = command.Customized; Platform.Submit(MaterialDefinitionExt); } } return(response); }
private ImportMaterialDefinition.Response ImportMaterialDefinitionHandler(ImportMaterialDefinition command) { int myId = 0; var response = new ImportMaterialDefinition.Response(); if (!Platform.ProjectionQuery <UoM>().Any(u => u.NId == command.UoM)) { var createUoMResponse = Platform.CallCommand <CreateUoM, CreateUoM.Response>(new CreateUoM { IsActive = true, NId = command.UoM, Name = command.UoM }); if (!createUoMResponse.Succeeded) { response.SetError(createUoMResponse.Error.ErrorCode, createUoMResponse.Error.ErrorMessage); return(response); } } if (!string.IsNullOrEmpty(command.MaterialFamily) && !Platform.ProjectionQuery <MaterialClass>().Any(mc => mc.NId == command.MaterialFamily)) { var createMaterialClassResponse = Platform.CallCommand <CreateMaterialClass, CreateMaterialClass.Response>(new CreateMaterialClass { NId = command.MaterialFamily, Name = command.MaterialFamily }); if (!createMaterialClassResponse.Succeeded) { response.SetError(createMaterialClassResponse.Error.ErrorCode, createMaterialClassResponse.Error.ErrorMessage); return(response); } } var matDef = Platform.ProjectionQuery <MaterialDefinition>().FirstOrDefault(m => m.NId == command.MaterialCode && m.Revision == command.MaterialRevision); if (matDef != null) { var matUpdateResponse = Platform.CallCommand <UADMUpdateMaterialDefinition, UADMUpdateMaterialDefinition.Response>(new UADMUpdateMaterialDefinition { NId = matDef.NId, FirstArticleInspection = matDef.FirstArticleInspection, MaxRecycleCount = matDef.MaxRecycleCount, MinQuantity = matDef.MinQuantity, Name = matDef.Name, Revision = matDef.Revision, Traceable = matDef.Traceable, Description = command.Description, SerialNumberProfile = command.Serialized }); if (!matUpdateResponse.Succeeded) { response.SetError(matUpdateResponse.Error.ErrorCode, matUpdateResponse.Error.ErrorMessage); return(response); } myId = matDef.Id; response.MaterialCode = matDef.NId; response.MaterialRevision = matDef.Revision; } else { var createResponse = Platform.CallCommand <UADMCreateMaterialDefinition, UADMCreateMaterialDefinition.Response>(new UADMCreateMaterialDefinition { NId = command.MaterialCode, Name = command.MaterialCode, Revision = command.MaterialRevision, Description = command.Description, FirstArticleInspection = false, MaterialClassNId = command.MaterialFamily, SerialNumberProfile = command.Serialized, UOM = command.UoM }); if (!createResponse.Succeeded) { response.SetError(createResponse.Error.ErrorCode, createResponse.Error.ErrorMessage); return(response); } myId = createResponse.Id.GetValueOrDefault(); } CreateOrUpdateMaterialDefinitionExt matDef2 = new CreateOrUpdateMaterialDefinitionExt(myId, command.Customized); Platform.CallCommand <CreateOrUpdateMaterialDefinitionExt, CreateOrUpdateMaterialDefinitionExt.Response>(matDef2); response.MaterialCode = command.MaterialCode; response.MaterialRevision = command.MaterialRevision; return(response); }