public void SummaryPost_with_valid_information_registers_expected_admin()
        {
            // Given
            const int    centreId   = 7;
            const int    jobGroupId = 1;
            const string email      = "right@email";
            const string professionalRegistrationNumber = "PRN1234";
            var          model = new SummaryViewModel
            {
                Terms = true,
            };
            var data = new RegistrationData
            {
                FirstName    = "First",
                LastName     = "Name",
                Centre       = centreId,
                JobGroup     = jobGroupId,
                PasswordHash = "hash",
                Email        = email,
                ProfessionalRegistrationNumber    = professionalRegistrationNumber,
                HasProfessionalRegistrationNumber = true,
            };

            controller.TempData.Set(data);
            A.CallTo(() => centresDataService.GetCentreAutoRegisterValues(centreId)).Returns((false, email));
            A.CallTo(() => userDataService.GetAdminUserByEmailAddress(email)).Returns(null);
            A.CallTo(() => registrationService.RegisterCentreManager(A <AdminRegistrationModel> ._, A <int> ._, A <bool> ._))
            .DoesNothing();

            // When
            var result = controller.Summary(model);

            // Then
            A.CallTo(
                () => registrationService.RegisterCentreManager(
                    A <AdminRegistrationModel> .That.Matches(
                        a =>
                        a.FirstName == data.FirstName &&
                        a.LastName == data.LastName &&
                        a.Email == data.Email ! &&
                        a.Centre == data.Centre !.Value &&
                        a.PasswordHash == data.PasswordHash ! &&
                        a.Active &&
                        a.Approved &&
                        a.IsCentreAdmin &&
                        a.IsCentreManager &&
                        !a.IsContentManager &&
                        !a.ImportOnly &&
                        !a.IsContentCreator &&
                        !a.IsTrainer &&
                        !a.IsSupervisor &&
                        a.ProfessionalRegistrationNumber == professionalRegistrationNumber
                        ),
                    jobGroupId,
                    true
                    )
                )
            .MustHaveHappened();
            result.Should().BeRedirectToActionResult().WithActionName("Confirmation");
        }
        public void UpdateBuildsSummaryWithTotal()
        {
            var sut = new SummaryViewModel(_summaryBuilderFactoryMock.Object);

            sut.Update();
            _summaryBuilderMock.Verify(x => x.WithTotal());
        }
示例#3
0
        public static void UpdateSummary(this SummaryViewModel summary,
                                         params ProductLevel[] productLevels)
        {
            foreach (var productLevel in productLevels)
            {
                switch (productLevel)
                {
                case ProductLevel.Empty:
                    summary.EmptyCount++;
                    break;

                case ProductLevel.OK:
                    summary.OkCount++;
                    break;

                case ProductLevel.Ng2:
                    summary.Ng2Count++;
                    break;

//                    case ProductLevel.Ng3:
//                        summary.Ng3Count++;
//                        break;
                case ProductLevel.Ng4:
                    summary.Ng4Count++;
                    break;

                case ProductLevel.Ng5:
                    summary.Ng5Count++;
                    break;
                }
            }
        }
示例#4
0
 public Summary()
 {
     InitializeComponent();
     viewModel = new SummaryViewModel();
     SetBarLong(viewModel);
     BindingContext = viewModel;
 }
        public async Task <IActionResult> Index()
        {
            var Users = await _userRepository.GetAll();

            var YearPlans = await _yearPlanRepository.GetAll();

            var Treatments = await _treatmentRepository.GetAll();

            var FieldsCount        = YearPlan.GetTotalFieldsCount(YearPlans);
            var FieldsArea         = YearPlan.GetTotalFieldsArea(YearPlans);
            var YearPlansCount     = YearPlans.Count();
            var InActiveUsersCount = AgroSup.Core.Domain.User.GetInActiveUsers(Users).Count();
            var TreatmentsCount    = Treatments.Count();

            var Model = new SummaryViewModel
            {
                TotalUsers       = Users.Count(),
                AverageFieldArea = Math.Round((double)FieldsArea / (YearPlansCount * 100), 2),
                AverageTreatmentCountPerField = Math.Round((double)TreatmentsCount / FieldsCount, 2),
                AverageYearPlansCountPerUser  = Math.Round((double)YearPlans.Count() / Users.Count(), 2),
                InActiveAccounts = InActiveUsersCount,
            };

            return(View(Model));
        }
        public ActionResult Summary(SummaryViewModel model, string btnPrevious, string btnSend)
        {
            try
            {
                model.OccupationDisplayName    = OccupationDictionary[model.Occupation];
                model.MaritalStatusDisplayName = MaritalStatusDictionary[model.MaritalStatus];

                if (ModelState.IsValid)
                {
                    if (!string.IsNullOrEmpty(btnSend))
                    {
                        if (IsSummaryHiddenFieldsValid(model))
                        {
                            //parameters valid, good to send
                            return(View(model));
                        }
                    }
                    else if (!string.IsNullOrEmpty(btnPrevious))
                    {
                        SetTempData(model);
                        return(RedirectToAction(nameof(LoanApplication)));
                    }
                }
                return(View(model));
            }
            catch
            {
                return(View(model));
            }
        }
示例#7
0
        public async Task <ActionResult> Index()
        {
            SummaryViewModel summary = new SummaryViewModel();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseUrl);

                HttpResponseMessage responseMessage = await client.GetAsync("summary");

                if (responseMessage.IsSuccessStatusCode)
                {
                    //Storing the response details recieved from web api
                    var covidResponse = responseMessage.Content
                                        .ReadAsStringAsync().Result;

                    summary = JsonConvert.DeserializeObject <SummaryViewModel>(covidResponse);
                }
            }

            summary.Countries.OrderByDescending(c => c.TotalConfirmed).ToList();
            summary.TotalCountries  = summary.Countries.Count();
            summary.SortedCountries = summary.Countries.OrderByDescending(c => c.TotalConfirmed).ToList();

            return(View(summary));
        }
示例#8
0
 void Chenge_Month_Remove(object sender, EventArgs e)
 {
     viewModel = new SummaryViewModel(-1);
     SetBarLong(viewModel);
     BindingContext = viewModel;
     OnAppearing();
 }
示例#9
0
        public static void FillTrackerModel(this TrackerViewModel tracker,
                                            SummaryViewModel summary, NewsViewModel news)
        {
            tracker.Country_SouthAfrica = summary.Countries.Where(s => s.Country == "South Africa")
                                          .FirstOrDefault();

            tracker.RSA_TotalConfirmed = Helper.FormatIntToString(
                tracker.Country_SouthAfrica.TotalConfirmed);

            tracker.RSA_TotalRecovered = Helper.FormatIntToString(
                tracker.Country_SouthAfrica.TotalRecovered);

            tracker.RSA_TotalDeaths = Helper.FormatIntToString(
                tracker.Country_SouthAfrica.TotalDeaths);

            // Global
            tracker.Global_TotalConfirmed = Helper.FormatIntToString(
                summary.Global.TotalConfirmed);
            tracker.Global_TotalRecovered = Helper.FormatIntToString(
                summary.Global.TotalRecovered);
            tracker.Global_TotalDeaths = Helper.FormatIntToString(
                summary.Global.TotalDeaths);

            // News
            tracker.NewsViewModel          = news;
            tracker.NewsViewModel.Articles = tracker.NewsViewModel.Articles.Take(5).ToList();
            foreach (var item in tracker.NewsViewModel.Articles)
            {
                item.PublishedAt = item.PublishedAt.Substring(0, 10);
            }
        }
示例#10
0
        public void SummaryPost_with_admin_registration_not_allowed_throws_error(
            bool autoRegistered,
            string autoRegisterManagerEmail,
            string userEmail
            )
        {
            // Given
            const int centreId = 7;
            var       model    = new SummaryViewModel
            {
                Terms = true,
            };
            var data = new RegistrationData {
                Centre = centreId, Email = userEmail
            };

            controller.TempData.Set(data);
            A.CallTo(() => centresDataService.GetCentreName(centreId)).Returns("My centre");
            A.CallTo(() => centresDataService.GetCentreAutoRegisterValues(centreId))
            .Returns((autoRegistered, autoRegisterManagerEmail));

            // When
            var result = controller.Summary(model);

            // Then
            result.Should().BeStatusCodeResult().WithStatusCode(500);
        }
示例#11
0
        public IActionResult Summary(SummaryViewModel model)
        {
            var data = TempData.Peek <RegistrationData>() !;

            if (!ModelState.IsValid)
            {
                var viewModel = new SummaryViewModel(data);
                PopulateSummaryExtraFields(viewModel, data);
                viewModel.Terms = model.Terms;
                return(View(viewModel));
            }

            if (!CanProceedWithRegistration(data))
            {
                return(new StatusCodeResult(500));
            }

            var registrationModel = RegistrationMappingHelper.MapToCentreManagerAdminRegistrationModel(data);

            registrationService.RegisterCentreManager(
                registrationModel,
                data.JobGroup !.Value,
                true
                );

            return(RedirectToAction("Confirmation"));
        }
示例#12
0
        public async Task <IActionResult> Summary()
        {
            var result = new SummaryViewModel();

            var coursesNb  = Task.Run(() => context.Courses.Count());
            var teachersNb = Task.Run(() => context.Teachers.Count());
            var studentsNb = Task.Run(() => context.Students.Count());

            var computeAverage = Task.Run(async() =>
            {
                var concurrentDic = new ConcurrentDictionary <string, List <decimal> >();
                foreach (var item in await context.Students.SelectMany(s => s.Courses).Include(c => c.Course).ToListAsync())
                {
                    concurrentDic.AddOrUpdate(item.Course.Name, new List <decimal> {
                        item.Notation
                    }, (_, l) => { l.Add(item.Notation); return(l); });
                }
                return(concurrentDic);
            });

            result.NbCourses       = await coursesNb;
            result.NbTeachers      = await teachersNb;
            result.NbStudents      = await studentsNb;
            result.AverageByCourse = (await computeAverage).ToDictionary(c => c.Key, c => c.Value.Average());
            return(View(result));
        }
        public async Task Summary_RedirectToActionResult_ForValidModelAndIsOkay()
        {
            //Arrange
            var model = new SummaryViewModel
            {
                UserId  = "test",
                Company = "test"
            };
            bool isOkay = true;

            mockUserManager.Setup(s => s.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(new ApplicationUser());
            _notificationRepository.Setup(s => s.AddNotificationsForClient(It.IsAny <ClientNotifications>()))
            .Verifiable();
            _notificationRepository.Setup(s => s.AddNotificationsForAdmin(It.IsAny <AdminNotifications>()))
            .Verifiable();
            _employeeTaskRepository.Setup(s => s.AddEmployeeTask(It.IsAny <EmployeeTask>())).Verifiable();
            _formRepository.Setup(s => s.AddTask(It.IsAny <FormModel>())).Verifiable();
            //Act
            var result = await _controller.Summary(model, isOkay);

            //Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Success", redirectToActionResult.ActionName);
            Assert.Equal("Success", redirectToActionResult.ControllerName);
        }
        public async Task Summary_RedirectToActionResult_WhenOccurException()
        {
            //Arrange
            var model = new SummaryViewModel
            {
                UserId  = "test",
                Company = "test"
            };
            bool isOkay = true;

            mockUserManager.Setup(s => s.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(new ApplicationUser());
            _notificationRepository.Setup(s => s.AddNotificationsForClient(It.IsAny <ClientNotifications>()))
            .Throws(new Exception());
            //Act
            var result = await _controller.Summary(model, isOkay);

            //Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Success", redirectToActionResult.ActionName);
            Assert.Equal("Success", redirectToActionResult.ControllerName);
            mockLogger.Verify(
                x => x.Log(
                    It.Is <LogLevel>(l => l == LogLevel.Error),
                    It.IsAny <EventId>(),
                    It.Is <It.IsAnyType>((v, t) => true),
                    It.IsAny <Exception>(),
                    It.Is <Func <It.IsAnyType, Exception, string> >((v, t) => true)));
        }
示例#15
0
        public static async Task <bool> CheckDBForLatLongExists(this SummaryViewModel summary,
                                                                ApplicationDbContext db, IGeocoder geocoder)
        {
            var dto = await db.LatLongDtos.ToListAsync();

            if (!dto.Any())
            {
                double position_Long;
                double position_Lat;
                string country;
                foreach (var item in summary.Countries)
                {
                    position_Long = item.GetLongFromCountry(geocoder);
                    position_Lat  = item.GetLatFromCountry(geocoder);
                    country       = item.Country;

                    db.LatLongDtos.Add(new LatLongDTO
                    {
                        Country   = country,
                        Latitude  = position_Lat,
                        Longitude = position_Long
                    });

                    await db.SaveChangesAsync();
                }

                return(true);
            }
            else
            {
                return(true);
            }
        }
示例#16
0
        public static void UpdateTile(double?cash = null, bool hasData = true)
        {
            if (cash == null) // load data...
            {
                using (var dataService = new DataService())
                {
                    var summaryViewModel = new SummaryViewModel();

                    summaryViewModel.Update(dataService.GetAllCredits(true), dataService.GetAllDebits(true));

                    cash    = summaryViewModel.Cash;
                    hasData = summaryViewModel.HasData;
                }
            }

            if (!SettingsHelper.GetWithLiveTileDecimalDigits())
            {
                cash = (int)cash; // Remove the coma without rounding
            }

            var mediumTile = new MediumTileControl(
                "/Assets/Tiles/FlipCycleTileMedium.png" /* Transparent image with icon */,
                cash.ToString(),
                hasData);

            mediumTile.Update();
        }
        public void UpdateCreatesASummaryBuilder()
        {
            var sut = new SummaryViewModel(_summaryBuilderFactoryMock.Object);

            sut.Update();
            _summaryBuilderFactoryMock.Verify(x => x.Create());
        }
示例#18
0
        public virtual OrchestratorResponse <SummaryViewModel> GetSummaryViewModel(HttpContextBase context)
        {
            var enteredData = GetCookieData();

            var model = new SummaryViewModel
            {
                OrganisationType            = enteredData.EmployerAccountOrganisationData.OrganisationType,
                OrganisationName            = enteredData.EmployerAccountOrganisationData.OrganisationName,
                RegisteredAddress           = enteredData.EmployerAccountOrganisationData.OrganisationRegisteredAddress?.Split(','),
                OrganisationReferenceNumber = enteredData.EmployerAccountOrganisationData.OrganisationReferenceNumber,
                OrganisationDateOfInception = enteredData.EmployerAccountOrganisationData.OrganisationDateOfInception,
                PayeReference          = enteredData.EmployerAccountPayeRefData.PayeReference,
                EmployerRefName        = enteredData.EmployerAccountPayeRefData.EmployerRefName,
                EmpRefNotFound         = enteredData.EmployerAccountPayeRefData.EmpRefNotFound,
                OrganisationStatus     = enteredData.EmployerAccountOrganisationData.OrganisationStatus,
                PublicSectorDataSource = enteredData.EmployerAccountOrganisationData.PublicSectorDataSource,
                Sector    = enteredData.EmployerAccountOrganisationData.Sector,
                NewSearch = enteredData.EmployerAccountOrganisationData.NewSearch,
                AORN      = enteredData.EmployerAccountPayeRefData.AORN
            };

            return(new OrchestratorResponse <SummaryViewModel>
            {
                Data = model
            });
        }
示例#19
0
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        /// <param name="controller">The ISessionSummaryController instance that owns this view model.</param>
        public MainViewModel(ISessionSummaryController controller)
        {
            if (controller == null)
            {
                throw new ArgumentNullException("controller");
            }

            Controller = controller;
            SummaryViewModel vm = new SummaryViewModel(controller.SummaryController);

            SummaryVM = vm;
            if (Controller.Settings.SessionSummaryViewMode == SessionSummaryViewModes.Nevada) // US5345
            {
                DisplayedSummaryView = new SummaryNevadaView();
            }
            else
            {
                DisplayedSummaryView = new SummaryView();
            }

            DisplayedSummaryView.DataContext = vm;

            FileExitCommand         = new RelayCommand((parameter) => Exit());
            EditSessionCostsCommand = new RelayCommand((parameter) => SessionCosts());
            HelpAboutCommand        = new RelayCommand((parameter) => About());
        }
示例#20
0
        private async Task NotifyUser(SummaryViewModel summary, RazorLightEngine razor, SmtpClient smtpClient)
        {
            if (!summary.Users.Any())
            {
                Logger.Warn("Not sending user notification, no users to notify");
                return;
            }

            string subjectTemplate = File.ReadAllText(Path.Combine(new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName, "Views", "UserSubject", "Template.cshtml"));
            string bodyTemplate    = File.ReadAllText(Path.Combine(new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName, "Views", "UserBody", "Template.cshtml"));

            ExpandoObject viewBag = new { SonarUrl }.ToExpando();

            foreach (UserViewModel model in summary.Users)
            {
                if (IgnoredRecipients.Contains(model.User.Key) || (RecipientFilter.Any() && !RecipientFilter.Contains(model.User.Key)))
                {
                    Logger.Info($"Not sending mail to: {model.User.Key}, recipient ignored");
                    continue;
                }

                await DoSendMessage(
                    smtpClient : smtpClient,
                    recipient : model.User.EmailAddress,
                    subject : (await razor.CompileRenderStringAsync("user-subject", subjectTemplate, model, viewBag).OnAnyThread()).Trim(),
                    message : (await razor.CompileRenderStringAsync("user-body", bodyTemplate, model, viewBag).OnAnyThread()).Trim()).OnAnyThread();
            }
        }
示例#21
0
        public async Task <IActionResult> Search(SummaryViewModel model)
        {
            ModelState.Clear();
            var viewModel = await repository.GetSummaryViewModel(model.SelectedCountry);

            viewModel.SelectedCountry = model.SelectedCountry;
            return(View("index", viewModel));
        }
示例#22
0
        public async Task <ActionResult> Summary(Guid notificationId, Guid[] newMovementIds)
        {
            var movements = await mediator.SendAsync(new GetMovementsByIds(notificationId, newMovementIds));

            var model = new SummaryViewModel(movements);

            return(View(model));
        }
示例#23
0
        public IActionResult Summary()
        {
            var data  = TempData.Peek <RegistrationData>() !;
            var model = new SummaryViewModel(data);

            PopulateSummaryExtraFields(model, data);
            return(View(model));
        }
示例#24
0
        public SummaryPage(PropertyDetailViewModel viewModel)
        {
            var vm = new SummaryViewModel(viewModel);

            BindingContext = this.viewModel = vm;

            InitializeComponent();
        }
示例#25
0
        public async Task <IActionResult> Summary()
        {
            if (ManagedYearPlan == null)
            {
                return(ActionIfNotChoosedManagedYearPlan());
            }

            var fields = await _fieldRepository.GetByYearPlan(ManagedYearPlan);

            var operators = await _operatorRepository.GetByYearPlan(ManagedYearPlan);

            var withoutOperator = new SummaryDisplayGroup()
            {
                Name      = "Bez ARiMR",
                ShowEfa   = false,
                FuelArea  = Field.GetFuelAreaWithoutOperator(fields) / 100f,
                TotalArea = Field.GetCultivatedAreaWithoutOperator(fields) / 100f,
                Plants    = Field.GetPlantNameListWithoutOperator(fields).Select(x => new SummaryPlant()
                {
                    Name        = x,
                    Area        = Field.GetCultivatedAreaByPlantNameWithoutOperator(fields, x) / 100f,
                    AreaPercent = (int)(100 * Field.GetCultivatedAreaByPlantNameWithoutOperator(fields, x) / Field.GetCultivatedAreaWithoutOperator(fields))
                })
            };
            var TotalFarm = new SummaryDisplayGroup()
            {
                Name      = "Całość",
                ShowEfa   = false,
                FuelArea  = Field.GetTotalFuelArea(fields) / 100f,
                TotalArea = Field.GetTotalCultivatedArea(fields) / 100f,
                Plants    = Field.GetTotalPlantNameList(fields).Select(x => new SummaryPlant()
                {
                    Name        = x,
                    Area        = Field.GetTotalCultivatedAreaByPlantName(fields, x) / 100f,
                    AreaPercent = (int)(100 * Field.GetTotalCultivatedAreaByPlantName(fields, x) / Field.GetTotalCultivatedArea(fields))
                })
            };

            var model = new SummaryViewModel()
            {
                DisplayGroups = operators.Select(x => new SummaryDisplayGroup()
                {
                    Name       = x.GetName,
                    TotalArea  = x.GetTotalArea() / 100f,
                    FuelArea   = x.GetFuelArea() / 100f,
                    ShowEfa    = true,
                    EfaPercent = x.GetEfaPercent(),
                    Plants     = x.GetPlantNameList().Select(y => new SummaryPlant()
                    {
                        Name        = y,
                        Area        = x.GetAreaByPlant(y) / 100f,
                        AreaPercent = (int)(100 * x.GetAreaByPlant(y) / x.GetTotalArea())
                    })
                }).Append(withoutOperator).Append(TotalFarm)
            };

            return(View(model));
        }
示例#26
0
        public ActionResult Index()
        {
            var summary = new SummaryViewModel();

            summary.AdvCount      = _advertisementService.Queryable().Count();
            summary.UserCount     = _userService.Queryable().Count();
            summary.MessagesCount = _messageService.Queryable().Count();
            return(View(summary));
        }
 public ApplicationViewModel()
 {
     //Add pages
     _homeViewModel    = new HomeViewModel(this);
     _summaryViewModel = new SummaryViewModel();
     //some code here
     _homeViewModel.SomeProperty = 5;
     CurrentBasePageViewModel    = _homeViewModel;
 }
示例#28
0
        public Summary(int sessionId)
        {
            this.BindingContext = this.summaryViewModel =
                (Application.Current as App)?.Container.GetRequiredService <SummaryViewModel>();

            this.summaryViewModel.SessionId = sessionId;

            this.InitializeComponent();
        }
示例#29
0
        public async Task <IActionResult> Summary(SummaryViewModel model)
        {
            var data = TempData.Peek <DelegateRegistrationData>() !;

            if (data.Centre == null || data.JobGroup == null)
            {
                return(RedirectToAction("Index"));
            }

            if (!ModelState.IsValid)
            {
                var viewModel = new SummaryViewModel(data);
                PopulateSummaryExtraFields(viewModel, data);
                viewModel.Terms = model.Terms;
                return(View(viewModel));
            }

            var centreId = (int)data.Centre;
            var refactoredTrackingSystemEnabled =
                await featureManager.IsEnabledAsync(FeatureFlags.RefactoredTrackingSystem);

            var userIp = Request.GetUserIpAddressFromRequest();

            try
            {
                var(candidateNumber, approved) =
                    registrationService.RegisterDelegate(
                        RegistrationMappingHelper.MapSelfRegistrationToDelegateRegistrationModel(data),
                        userIp,
                        refactoredTrackingSystemEnabled,
                        data.SupervisorDelegateId
                        );

                TempData.Clear();
                TempData.Add("candidateNumber", candidateNumber);
                TempData.Add("approved", approved);
                TempData.Add("centreId", centreId);
                return(RedirectToAction("Confirmation"));
            }
            catch (DelegateCreationFailedException e)
            {
                var error = e.Error;

                if (error.Equals(DelegateCreationError.UnexpectedError))
                {
                    return(new StatusCodeResult(500));
                }

                if (error.Equals(DelegateCreationError.EmailAlreadyInUse))
                {
                    return(RedirectToAction("Index"));
                }

                return(new StatusCodeResult(500));
            }
        }
示例#30
0
        // GET: Profile
        public ActionResult Index()
        {
            var model = new SummaryViewModel()
            {
                Fio     = "Иванов Иван Иванович",
                Sensors = Sensors
            };

            return(View(model));
        }
        public ChangeViewModel(RepositoryNavigationRequest request, Change change, Diff diff)
            : base(request)
        {
            Change = change;
            Treeish = change.ComparedCommit.Hash;
            Name = System.IO.Path.GetFileName(change.Path);
            Path = change.Path;
            Diff = new UnifiedDiffViewModel(diff);
            Summary = new SummaryViewModel();
            Summary.Inserts = Diff.Lines.Count(x =>
                x.LineType == GitSharp.Diff.EditType.Inserted ||
                (x.LineType == GitSharp.Diff.EditType.Replaced && x.LineB.HasValue) // new ones
            );

            Summary.Deletes = Diff.Lines.Count(x =>
                x.LineType == GitSharp.Diff.EditType.Deleted ||
                (x.LineType == GitSharp.Diff.EditType.Replaced && x.LineA.HasValue) // replaced with new one(s)
            );
        }
 /// <summary>
 /// Provides a deterministic way to delete the Page2 property.
 /// </summary>
 public static void ClearSummary()
 {
     _summaryViewModel.Cleanup();
     _summaryViewModel = null;
 }
 /// <summary>
 /// Provides a deterministic way to create the Page2 property.
 /// </summary>
 public static void CreateSummary()
 {
     if (_summaryViewModel == null)
     {
         _summaryViewModel = new SummaryViewModel();
     }
 }
示例#34
0
        public ActionResult Index()
        {
            var SummaryViewModel = new SummaryViewModel();
            IQueryable<Institution> institutions = null;
            var user = UserManager.FindById(User.Identity.GetUserId());
            var DoS = DateTime.Now.ToString("d", CultureInfo.CreateSpecificCulture("es-GT"));
            SummaryViewModel.DatePickerConfig = DoS;
            //SummaryViewModel.UsrCtry = user.Institution.CountryID;

            if (user.Institution.AccessLevel == AccessLevel.All)
            {
                SummaryViewModel.DisplayCountries = true;
                SummaryViewModel.DisplayHospitals = true;
            }
            else if (user.Institution is Hospital || user.Institution is AdminInstitution)
            {
                SummaryViewModel.DisplayHospitals = true;

                if (user.Institution.AccessLevel == AccessLevel.Country)
                {
                    institutions = db.Institutions.OfType<Hospital>()
                                  .Where(i => i.CountryID == user.Institution.CountryID);
                }
                else if (user.Institution.AccessLevel == AccessLevel.Area)
                {
                    institutions = db.Institutions.OfType<Hospital>()
                                   .Where(i => i.AreaID == user.Institution.AreaID);
                }
                else
                {
                    institutions = db.Institutions.OfType<Hospital>()
                                   .Where(i => i.ID == user.Institution.ID);
                }
            }

            SummaryViewModel.Countries = db.Countries
                    .Select(c => new CountryView()
                    {
                        Id = c.ID.ToString(),
                        Name = c.Name,
                        Active = c.Active
                    }).ToArray();

            if (institutions != null)
            {
                SummaryViewModel.Institutions = institutions.Select(i => new LookupView<Institution>()
                {
                    Id = i.ID.ToString(),
                    Name = i.Name
                }).ToArray();
            };

            return View(SummaryViewModel);
        }