Пример #1
0
        public AnimalController()
        {
            var membershipUser = Membership.GetUser();

            if (membershipUser != null && membershipUser.ProviderUserKey != null)
            {
                string[] roles   = Roles.GetRolesForUser(membershipUser.UserName);
                var      userKey = (int)membershipUser.ProviderUserKey;
                _dataEntryService             = new DataEntryService(new ModelStateWrapper(ModelState), _uow, userKey);
                _projectuservalidationservice = new ProjectUserValidationService(new ModelStateWrapper(ModelState), _uow, userKey, roles);
            }
            else
            {
                throw new UnauthorizedAccessException("MembershipUser or ProviderUserKey is null - Is the user authenticated?");
            }

            var DisplayTimeUnit = _displaytimeunit;

            var DisplayUnit = db.Units.Where(u => u.Status == "Current" && u.UnitName == DisplayTimeUnit);

            if (DisplayUnit.Count() != 1)
            {
                throw new UnauthorizedAccessException("Time unit not recognized! Please contact administrator.");
            }
        }
Пример #2
0
        public DataEntryController()
        {
            var membershipUser = Membership.GetUser();

            if (membershipUser != null && membershipUser.ProviderUserKey != null)
            {
                string[] roles   = Roles.GetRolesForUser(membershipUser.UserName);
                var      userKey = (int)membershipUser.ProviderUserKey;
                _dataEntryService             = new DataEntryService(new ModelStateWrapper(ModelState), _uow, userKey);
                _projectuservalidationservice = new ProjectUserValidationService(new ModelStateWrapper(ModelState), _uow, userKey, roles);
            }
            else
            {
                throw new UnauthorizedAccessException("MembershipUser or ProviderUserKey is null - Is the user authenticated?");
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            var maxFields = 10000L;
            var fieldGenerationInterval     = TimeSpan.Zero;
            var annotationRepublishInterval = TimeSpan.FromSeconds(1);
            var fieldRepublishInterval      = TimeSpan.FromSeconds(1);

            var failOnAnnotateSaveOnEvery = 2;
            var failOnAnnotateAckOnEvery  = 2;
            var failOnAnnotateOnEvery     = 2;

            var fieldService = new FieldService(fieldGenerationInterval, maxFields, failOnAnnotateSaveOnEvery);

            using (var dataEntryService = new DataEntryService(fieldService))
                using (var annotationService = new AnnotationService(
                           dataEntryService.AnnotateField,
                           annotationRepublishInterval,
                           failOnAnnotateAckOnEvery,
                           failOnAnnotateOnEvery))
                {
                    dataEntryService.StartPublishing(
                        annotationService.Annotate,
                        annotationService.Acknowledge,
                        fieldRepublishInterval);

                    bool consistency = false;

                    var timer = new Stopwatch();
                    timer.Start();

                    Observable
                    .Interval(TimeSpan.FromSeconds(1))
                    .TakeUntil(_ => consistency)
                    .Subscribe(_ =>
                    {
                        var fields              = fieldService.Fields;
                        var fieldCount          = fields.Count;
                        var annotatedFieldCount = fields.Where(field => field.ActiveAnnotation != null).Count();
                        var annotations         = annotationService.Annotations;

                        if (fieldCount == annotatedFieldCount)
                        {
                            consistency = true;
                        }

                        Console.WriteLine($"Execution Seconds:       {timer.Elapsed.TotalSeconds.ToString("#")}");
                        Console.WriteLine($"Field Count:             {fieldCount}");
                        Console.WriteLine($"Annotated Field Count:   {annotatedFieldCount}");
                        Console.WriteLine($"Annotations Count:       {annotations.Count}");
                        Console.WriteLine($"Unannotated Field Count: {fieldCount - annotatedFieldCount}");
                        Console.WriteLine();

                        if (consistency)
                        {
                            timer.Stop();

                            Console.WriteLine("------------------------------");
                            Console.WriteLine("Eventual Consistency Achieved!");
                            Console.WriteLine("------------------------------");
                        }
                    });

                    Console.ReadKey();
                }
        }