public void Create_ShouldFailWithConflict_WhenConflictValue() { // Arrange int markId = 1; int envAggressivenessId = _rnd.Next(1, TestData.envAggressiveness.Count()); int operatingAreaId = _rnd.Next(1, TestData.operatingAreas.Count()); int gasGroupId = _rnd.Next(1, TestData.gasGroups.Count()); int constructionMaterialId = _rnd.Next(1, TestData.constructionMaterials.Count()); int paintworkTypeId = _rnd.Next(1, TestData.paintworkTypes.Count()); int highTensileBoltsTypeId = _rnd.Next(1, TestData.highTensileBoltsTypes.Count()); var newMarkOperatingConditions = new MarkOperatingConditions { SafetyCoeff = 1.0f, Temperature = -34, }; // Act & Assert Assert.Throws <ConflictException>(() => _service.Create(newMarkOperatingConditions, markId, envAggressivenessId, operatingAreaId, gasGroupId, constructionMaterialId, paintworkTypeId, highTensileBoltsTypeId)); _repository.Verify(mock => mock.Add(It.IsAny <MarkOperatingConditions>()), Times.Never); }
public void Create_ShouldCreateMarkOperatingConditions() { // Arrange int markId = 3; int envAggressivenessId = _rnd.Next(1, TestData.envAggressiveness.Count()); int operatingAreaId = _rnd.Next(1, TestData.operatingAreas.Count()); int gasGroupId = _rnd.Next(1, TestData.gasGroups.Count()); int constructionMaterialId = _rnd.Next(1, TestData.constructionMaterials.Count()); int paintworkTypeId = _rnd.Next(1, TestData.paintworkTypes.Count()); int highTensileBoltsTypeId = _rnd.Next(1, TestData.highTensileBoltsTypes.Count()); var newMarkOperatingConditions = new MarkOperatingConditions { SafetyCoeff = 1.0f, Temperature = -34, }; // Act _service.Create(newMarkOperatingConditions, markId, envAggressivenessId, operatingAreaId, gasGroupId, constructionMaterialId, paintworkTypeId, highTensileBoltsTypeId); // Assert _repository.Verify(mock => mock.Add( It.IsAny <MarkOperatingConditions>()), Times.Once); Assert.NotNull(newMarkOperatingConditions.Mark); }
public void Add_ShouldAddMarkOperatingConditions() { // Arrange var context = GetContext(TestData.markOperatingConditions); var repo = new SqlMarkOperatingConditionsRepo(context); int markId = 3; int envAggressivenessId = _rnd.Next(1, TestData.envAggressiveness.Count()); int operatingAreaId = _rnd.Next(1, TestData.operatingAreas.Count()); int gasGroupId = _rnd.Next(1, TestData.gasGroups.Count()); int constructionMaterialId = _rnd.Next(1, TestData.constructionMaterials.Count()); int paintworkTypeId = _rnd.Next(1, TestData.paintworkTypes.Count()); int highTensileBoltsTypeId = _rnd.Next(1, TestData.highTensileBoltsTypes.Count()); var markOperatingConditions = new MarkOperatingConditions { Mark = TestData.marks.FirstOrDefault(v => v.Id == markId), SafetyCoeff = 1.0f, EnvAggressiveness = TestData.envAggressiveness.FirstOrDefault(v => v.Id == envAggressivenessId), Temperature = -34, OperatingArea = TestData.operatingAreas.FirstOrDefault(v => v.Id == operatingAreaId), GasGroup = TestData.gasGroups.FirstOrDefault(v => v.Id == gasGroupId), ConstructionMaterial = TestData.constructionMaterials.FirstOrDefault(v => v.Id == constructionMaterialId), PaintworkType = TestData.paintworkTypes.FirstOrDefault(v => v.Id == paintworkTypeId), HighTensileBoltsType = TestData.highTensileBoltsTypes.FirstOrDefault(v => v.Id == highTensileBoltsTypeId), }; // Act repo.Add(markOperatingConditions); // Assert Assert.NotNull(repo.GetByMarkId(markId)); context.Database.EnsureDeleted(); context.Dispose(); }
public void FinalStep(MarkOperatingConditions conditions) { var corrProtVariant = _corrProtVariantRepo.GetByOperatingConditionIdsWithPaintwork( conditions.EnvAggressiveness.Id, conditions.ConstructionMaterial.Id, conditions.GasGroup.Id, conditions.OperatingArea.Id, conditions.PaintworkType.Id); var corrProtCoating = _corrProtCoatingRepo.GetByFastnessTypeAndGroup( corrProtVariant.PaintworkFastness.Id, corrProtVariant.PaintworkType.Id, corrProtVariant.PaintworkGroup.GetValueOrDefault()); var primer = _primerRepo.GetByGroup(corrProtCoating.PrimerGroup); protectionString = protectionString + " группы " + corrProtVariant.PaintworkGroup + ":"; installationString = "- на монтаже - " + corrProtCoating.Name + " в " + corrProtVariant.PaintworkNumOfLayers + " сл. толщиной " + corrProtVariant.PaintworkPrimerThickness + " мкм;"; factoryString = "- на заводе - " + primer.Name + " в " + corrProtVariant.PrimerNumOfLayers + " сл."; cleaningString = "Степень очистки поверхности стальных конструкций от окислов перед окраской - " + corrProtVariant.CleaningDegree.Name + "."; }
public void NextStep(MarkOperatingConditions conditions) { var corrProtVariant = _corrProtVariantRepo.GetByOperatingConditionIds( conditions.EnvAggressiveness.Id, conditions.ConstructionMaterial.Id, conditions.GasGroup.Id, conditions.OperatingArea.Id); if (corrProtVariant.Status == 2) { paintworkString = "# Окраска лакокрасочными материалами не требуется."; cleaningString = "# Степень очистки поверхности стальных конструкций от окислов - " + corrProtVariant.CleaningDegree.Name + "."; return; } else if (corrProtVariant.Status == 3) { paintworkString = "# При заданной зоне эксплуатации, группе газов, агрессивности и материале конструкций окраска лакокрасочными материалами не возможна"; return; } FinalStep(conditions); }
public void Update(MarkOperatingConditions markOperatingConditions) { _context.Entry(markOperatingConditions).State = EntityState.Modified; _context.SaveChanges(); }
public void Add(MarkOperatingConditions markOperatingConditions) { _context.MarkOperatingConditions.Add(markOperatingConditions); _context.SaveChanges(); }
private void AppendList( WordprocessingDocument wordDoc, IEnumerable <MarkGeneralDataPoint> markGeneralDataPoints, MarkOperatingConditions markOperatingConditions) { NumberingDefinitionsPart numberingPart = wordDoc.MainDocumentPart.NumberingDefinitionsPart; if (numberingPart == null) { numberingPart = wordDoc.MainDocumentPart.AddNewPart <NumberingDefinitionsPart>( "NumberingDefinitionsPart1"); Numbering element = new Numbering(); element.Save(numberingPart); } var abstractNumberId = numberingPart.Numbering.Elements <AbstractNum>().Count() + 1; var abstractLevel = new Level( new NumberingFormat() { Val = NumberFormatValues.Decimal }, new LevelText() { Val = "%1" }, new StartNumberingValue() { Val = 1, }, new RunProperties() { RunFonts = new RunFonts() { Ascii = "GOST type B", HighAnsi = "GOST type B", ComplexScript = "GOST type B" }, Italic = new Italic() { Val = OnOffValue.FromBoolean(true) }, FontSize = new FontSize() { Val = 26.ToString(), } }) { LevelIndex = 0 }; var abstractLevel2 = new Level( new NumberingFormat() { Val = NumberFormatValues.Decimal }, new LevelText() { Val = "%1.%2" }, new StartNumberingValue() { Val = 1, }, new RunProperties() { RunFonts = new RunFonts() { Ascii = "GOST type B", HighAnsi = "GOST type B", ComplexScript = "GOST type B" }, Italic = new Italic() { Val = OnOffValue.FromBoolean(true) }, FontSize = new FontSize() { Val = 26.ToString(), } }) { LevelIndex = 1 }; var abstractLevel3 = new Level( new NumberingFormat() { Val = NumberFormatValues.Bullet }, new LevelText() { Val = "–" }, new RunProperties() { RunFonts = new RunFonts() { Ascii = "Calibri", HighAnsi = "Calibri", ComplexScript = "Calibri" }, }) { LevelIndex = 2 }; var abstractLevel4 = new Level( new LevelSuffix() { Val = LevelSuffixValues.Space }) { LevelIndex = 3 }; var abstractNum = new AbstractNum( abstractLevel, abstractLevel2, abstractLevel3, abstractLevel4) { AbstractNumberId = abstractNumberId }; if (abstractNumberId == 1) { numberingPart.Numbering.Append(abstractNum); } else { AbstractNum lastAbstractNum = numberingPart.Numbering.Elements <AbstractNum>().Last(); numberingPart.Numbering.InsertAfter(abstractNum, lastAbstractNum); } var numberId = numberingPart.Numbering.Elements <NumberingInstance>().Count() + 1; NumberingInstance numberingInstance = new NumberingInstance() { NumberID = numberId }; AbstractNumId abstractNumId = new AbstractNumId() { Val = abstractNumberId }; numberingInstance.Append(abstractNumId); if (numberId == 1) { numberingPart.Numbering.Append(numberingInstance); } else { var lastNumberingInstance = numberingPart.Numbering.Elements <NumberingInstance>().Last(); numberingPart.Numbering.InsertAfter(numberingInstance, lastNumberingInstance); } Body body = wordDoc.MainDocumentPart.Document.Body; var markGeneralDataPointsList = markGeneralDataPoints.ToList(); for (var i = 0; i < markGeneralDataPoints.Count(); i++) { var item = markGeneralDataPointsList[i]; var spacingBetweenLines = new SpacingBetweenLines() { After = "120", Line = "240" }; var indentation = new Indentation() { Left = "360", Right = "360", FirstLine = "720" }; NumberingProperties numberingProperties; var pointText = item.Text; if (item.OrderNum == 1) { numberingProperties = new NumberingProperties( new NumberingLevelReference() { Val = 0 }, new NumberingId() { Val = numberId }); } else if (item.Text[0] == '#' && item.Text[1] == ' ') { numberingProperties = new NumberingProperties( new NumberingLevelReference() { Val = 1 }, new NumberingId() { Val = numberId }); pointText = pointText.Substring(2) + "."; } else if (item.Text[0] == '-' && item.Text[1] == ' ') { numberingProperties = new NumberingProperties( new NumberingLevelReference() { Val = 2 }, new NumberingId() { Val = numberId }); if (i == 0) { pointText = pointText.Substring(2) + "."; } else if (markGeneralDataPointsList[i - 1].OrderNum == 1) { pointText = pointText.Substring(2) + "."; } else if (markGeneralDataPointsList[i - 1].Text[0] == '#' && markGeneralDataPointsList[i - 1].Text[1] == ' ') { pointText = pointText.Substring(2) + "."; } else { pointText = pointText.Substring(2) + ";"; } } else { numberingProperties = new NumberingProperties( new NumberingLevelReference() { Val = 3 }, new NumberingId() { Val = numberId }); pointText = pointText + "."; indentation = new Indentation() { Left = "360", Right = "360", FirstLine = "640" }; } var paragraphProperties = new ParagraphProperties( numberingProperties, spacingBetweenLines, indentation); var newPara = new Paragraph(paragraphProperties); if (item.Section.Id == 7) { if (pointText.Contains("коэффициент надежности по ответственности")) { pointText = pointText.Replace("{}", markOperatingConditions.SafetyCoeff.ToString()); } else if (pointText.Contains("степень агрессивного воздействия среды")) { pointText = pointText.Replace("{}", markOperatingConditions.EnvAggressiveness.Name); } else if (pointText.Contains("расчетная температура эксплуатации")) { pointText = pointText.Replace("{}", $"{(markOperatingConditions.Temperature < 0 ? ("минус " + -markOperatingConditions.Temperature) : markOperatingConditions.Temperature)}"); } } if (pointText.Contains('^')) { var split = pointText.Split('^'); if (split.Count() > 1) { for (int k = 0; k < split.Count(); k++) { if (k > 0) { newPara.AppendChild(Word.GetTextElement(split[k][0].ToString(), 26, false, true)); } if (k == 0) { newPara.AppendChild(Word.GetTextElement(split[k], 26)); } else if (split[k].Length > 1) { newPara.AppendChild(Word.GetTextElement(split[k].Substring(1), 26)); } } } else { newPara.AppendChild(Word.GetTextElement(pointText, 26)); } } else { newPara.AppendChild(Word.GetTextElement(pointText, 26)); } body.PrependChild(newPara); } }
public void Create(MarkOperatingConditions markOperatingConditions, int markId, int envAggressivenessId, int operatingAreaId, int gasGroupId, int constructionMaterialId, int paintworkTypeId, int highTensileBoltsTypeId) { if (markOperatingConditions == null) { throw new ArgumentNullException(nameof(markOperatingConditions)); } var foundMark = _markRepo.GetById(markId); if (foundMark == null) { throw new ArgumentNullException(nameof(foundMark)); } var uniqueConstraintViolationCheck = _repository.GetByMarkId(markId); if (uniqueConstraintViolationCheck != null) { throw new ConflictException(nameof(uniqueConstraintViolationCheck)); } markOperatingConditions.Mark = foundMark; var envAggressiveness = _envAggressivenessRepo.GetById(envAggressivenessId); if (envAggressiveness == null) { throw new ArgumentNullException(nameof(envAggressiveness)); } markOperatingConditions.EnvAggressiveness = envAggressiveness; var operatingArea = _operatingAreaRepo.GetById(operatingAreaId); if (operatingArea == null) { throw new ArgumentNullException(nameof(operatingArea)); } markOperatingConditions.OperatingArea = operatingArea; var gasGroup = _gasGroupRepo.GetById(gasGroupId); if (gasGroup == null) { throw new ArgumentNullException(nameof(gasGroup)); } markOperatingConditions.GasGroup = gasGroup; var constructionMaterial = _constructionMaterialRepo.GetById(constructionMaterialId); if (constructionMaterial == null) { throw new ArgumentNullException(nameof(constructionMaterial)); } markOperatingConditions.ConstructionMaterial = constructionMaterial; var paintworkType = _paintworkTypeRepo.GetById(paintworkTypeId); if (paintworkType == null) { throw new ArgumentNullException(nameof(paintworkType)); } markOperatingConditions.PaintworkType = paintworkType; var highTensileBoltsType = _highTensileBoltsTypeRepo.GetById(highTensileBoltsTypeId); if (highTensileBoltsType == null) { throw new ArgumentNullException(nameof(highTensileBoltsType)); } markOperatingConditions.HighTensileBoltsType = highTensileBoltsType; _repository.Add(markOperatingConditions); foundMark.EditedDate = DateTime.Now; _markRepo.Update(foundMark); }