Exemple #1
0
        public XlfTransUnit(XElement node, XNamespace ns)
        {
            this.node = node;
            this.ns   = ns;

            Optional = new Optionals(this.node, this.ns);
        }
Exemple #2
0
        public void IsIgnoredReturnsFalseWhenNoMatchOnConstructorArguments()
        {
            var configuration       = Substitute.For <IBuildConfiguration>();
            var constructorResolver = Substitute.For <IConstructorResolver>();

            var instance = new Optionals(Guid.NewGuid().ToString())
            {
                Value = Guid.NewGuid().ToString()
            };
            var propertyInfo = instance.GetType().GetProperty(nameof(Optionals.Value)) !;
            var args         = new object?[]
            {
                Guid.NewGuid().ToString()
            };
            var constructor = instance.GetType().GetConstructor(new[] { typeof(string) });

            configuration.ConstructorResolver.Returns(constructorResolver);
            constructorResolver.Resolve(typeof(Optionals), args).Returns(constructor);

            var sut = new DefaultPropertyResolver(CacheLevel.PerInstance);

            var actual = sut.IsIgnored(configuration, instance, propertyInfo, args);

            actual.Should().BeFalse();
        }
        public void AddOptional(string name, string diagram)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ActivityDiagramRuleException();
            }

            if (string.IsNullOrEmpty(diagram))
            {
                throw new EmptyOptionalFragment();
            }

            if (Optionals == null)
            {
                Optionals = new List <Optional>();
            }

            var sequenceDiagram = GetDiagram(diagram);

            if (sequenceDiagram == null)
            {
                throw new ActivityDiagramRuleException();
            }

            Optionals.Add(new Optional()
            {
                Name          = name,
                RepresentedBy = sequenceDiagram
            });
        }
Exemple #4
0
        public void TestOptional_SetToNullExplicitly()
        {
            var optional = Optionals.None <object>();
            var target   = new object();

            optional.SetOptionally(ref target);
            Assert.IsNull(target);
        }
Exemple #5
0
        public void TestOptionalRangeSuccess(string text, string remainingText)
        {
            Optionals optionalRange = new Optionals(new Ranges('0', '9'));

            var matchRange = optionalRange.Match(text);

            Assert.True(matchRange.Success());
            Assert.Equal(remainingText, matchRange.RemainingText());
        }
Exemple #6
0
        public void TestOptionalCharSuccess(string text, string remainingText)
        {
            var optionalChar = new Optionals(new Charact('a'));

            var matchChar = optionalChar.Match(text);

            Assert.True(matchChar.Success());
            Assert.Equal(remainingText, matchChar.RemainingText());
        }
 internal XlfFile(XElement node, XNamespace ns)
 {
     this.node = node;
     this.ns   = ns;
     Optional  = new Optionals(node);
     if (node.Elements(ns + ElementHeader).Any())
     {
         Header = new XlfHeader(node.Element(ns + ElementHeader));
     }
 }
 /// <summary>
 /// 新增自選資料
 /// </summary>
 public async Task <Response <OptionalResponse> > CreateOptional(OptionalCreateRequest request)
 {
     using (IUnitOfWork uow = _unitOfWorkManager.Begin())
     {
         Optionals optional = new Optionals();
         optional.PriceID = request.PriceId;
         optional.Remark  = request.Remark;
         optional.Tag     = request.Tag;
         uow.BeginTransaction();
         int?id = uow.OptionalsRepository.Create(optional, uow.DbTransaction);
         if (id != null)
         {
             optional.OptionalID = (int)id;
             uow.Commit();
             Prices           price    = uow.PricesRepository.Get(optional.PriceID);
             OptionalResponse response = new OptionalResponse();
             response.PriceID               = price.PriceID;
             response.District              = price.District;
             response.TransactionSign       = price.TransactionSign;
             response.HouseNumberPlate      = price.HouseNumberPlate;
             response.AreaSquareMeter       = price.AreaSquareMeter;
             response.TransactionDate       = price.TransactionDate;
             response.TransactionNumber     = price.TransactionNumber;
             response.TotalFlorNumber       = price.TotalFlorNumber;
             response.BuildingState         = price.BuildingState;
             response.MainUse               = price.MainUse;
             response.MainBuildingMaterials = price.MainBuildingMaterials;
             response.CompleteDate          = price.CompleteDate;
             response.ShiftingTotalArea     = price.ShiftingTotalArea;
             response.Room                 = price.Room;
             response.Hall                 = price.Hall;
             response.Health               = price.Health;
             response.Compartmented        = price.Compartmented;
             response.ManageOrganization   = price.ManageOrganization;
             response.TotalPrices          = price.TotalPrices;
             response.UnitPrices           = price.UnitPrices;
             response.BerthCategory        = price.BerthCategory;
             response.BerthAreaSquareMeter = price.BerthAreaSquareMeter;
             response.BerthTotalPrices     = price.BerthTotalPrices;
             response.Note                 = price.Note;
             response.MainBuildingArea     = price.MainBuildingArea;
             response.OutbuildingArea      = price.OutbuildingArea;
             response.BalconyArea          = price.BalconyArea;
             response.Elevator             = price.Elevator;
             response.Remark               = request.Remark;
             response.Tag = request.Tag;
             return(new Response <OptionalResponse>(response, "success"));
         }
         uow.Rollback();
         return(new Response <OptionalResponse>("fail"));
     }
 }
 /// <summary>
 /// 更新自選資料
 /// </summary>
 /// <param name="request"></param>
 public async Task <Response <string> > UpdateOptional(OptionalUpdateRequest request)
 {
     using (IUnitOfWork uow = _unitOfWorkManager.Begin())
     {
         uow.BeginTransaction();
         Optionals optional = uow.OptionalsRepository.Get(request.OptionalID);
         optional.Tag    = request.Tag;
         optional.Remark = request.Remark;
         bool isSuccess = uow.OptionalsRepository.Update(optional, uow.DbTransaction);
         if (isSuccess)
         {
             uow.Commit();
             return(new Response <string>("", "success"));
         }
         uow.Rollback();
         return(new Response <string>("fail"));
     }
 }
Exemple #10
0
        public void IsIgnoredThrowsExceptionWhenConstructorNotFound()
        {
            var configuration = Substitute.For <IBuildConfiguration>();
            var instance      = new Optionals(Guid.NewGuid().ToString())
            {
                Value = Guid.NewGuid().ToString()
            };
            var propertyInfo = instance.GetType().GetProperty(nameof(Optionals.Value)) !;
            var args         = new object?[]
            {
                Guid.NewGuid().ToString(),
                Guid.NewGuid().ToString()
            };

            var sut = new DefaultPropertyResolver(CacheLevel.PerInstance);

            Action action = () => sut.IsIgnored(configuration, instance, propertyInfo, args);

            action.Should().Throw <MissingMemberException>();
        }
Exemple #11
0
 public XlfNote(XElement node)
 {
     this.node = node;
     Optional  = new Optionals(this.node);
 }
 bool SBinOp <Opt <val>, Opt <val>, bool, Equative <mark> > .BinOp(Opt <val> l, Opt <val> r) =>
 l.IsNone() == r.IsNone() && Optionals.Lift(_eq.Equal, l, r).GetValueOr(true);