Ejemplo n.º 1
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            ViewModel = new BuildingsViewModel();

            Context        mContext = Android.App.Application.Context;
            AppPreferences ap       = new AppPreferences(mContext);

            facilityId = Convert.ToInt32(ap.GetFacilityId());

            View view = inflater.Inflate(Resource.Layout.fragment_facility_building, container, false);

            recyclerView = view.FindViewById <RecyclerView>(Resource.Id.buildingRecyclerView);
            addButton    = view.FindViewById <FloatingActionButton>(Resource.Id.addnewBuilding_button);

            recyclerView.HasFixedSize       = true;
            recyclerView.SetAdapter(adapter = new BrowseBuildingsAdapter(Activity, ViewModel));

            refresher = view.FindViewById <SwipeRefreshLayout>(Resource.Id.buildingRefresher);
            refresher.SetColorSchemeColors(Resource.Color.accent);

            progress            = view.FindViewById <ProgressBar>(Resource.Id.buildingprogressbar_loading);
            progress.Visibility = ViewStates.Gone;
            addButton.Click    += AddButton_Click;
            addButton.SetBackgroundColor(Android.Graphics.Color.Tan);
            return(view);
        }
        public async void SubmitFacility()
        {
            MessageDialog messageDialog = new MessageDialog();

            messageDialog.ShowLoading();
            BuildingsViewModel ViewModel = new BuildingsViewModel();
            await ViewModel.ExecuteBuildingsCommand(facility.Id);

            var buildings = ViewModel.Buildings;

            if (!ValidateForm(facility, buildings.ToList(), messageDialog))
            {
                messageDialog.HideLoading();
                return;
            }

            facility.Status         = "Submitted";
            facility.ModifiedUserId = userId;
            facility.ModifiedDate   = new DateTime();
            bool isUpdated = await viewModel.ExecuteUpdateFacilityCommand(facility);

            messageDialog.HideLoading();
            if (isUpdated)
            {
                messageDialog.SendToast("Facility is submitted for approval.");
                var intent = new Intent(Activity, typeof(MainActivity));
                StartActivity(intent);
            }
            else
            {
                messageDialog.SendToast("Unable to submit facility for approval.");
            }
        }
Ejemplo n.º 3
0
        async void Submit_Click(Facility facility)
        {
            MessageDialog messageDialog = new MessageDialog();

            messageDialog.ShowLoading();
            BuildingsViewModel ViewModel = new BuildingsViewModel();
            await ViewModel.ExecuteBuildingsCommand(facility.Id);

            var buildings = ViewModel.Buildings;

            if (!ValidateForm(facility, buildings, messageDialog))
            {
                messageDialog.HideLoading();
                return;
            }

            facility.Status         = "Submitted";
            facility.ModifiedUserId = userId;
            facility.ModifiedDate   = new DateTime();
            bool isUpdated = await viewModel.ExecuteUpdateFacilityCommand(facility);

            messageDialog.HideLoading();
            if (isUpdated)
            {
                viewModel.Facilities.Remove(viewModel.Facilities.Where(s => s.Id == facility.Id).Single());
                messageDialog.SendToast("Facility is submitted for approval.");
                var myActivity = (MainActivity)this.activity;
                myActivity.Recreate();
            }
            else
            {
                messageDialog.SendToast("Unable to submitted facility for approval.");
            }
        }
Ejemplo n.º 4
0
        public BrowseBuildingsAdapter(Activity activity, BuildingsViewModel viewModel)
        {
            this.viewModel = viewModel;
            this.activity  = activity;

            this.viewModel.Buildings.CollectionChanged += (sender, args) =>
            {
                this.activity.RunOnUiThread(NotifyDataSetChanged);
            };
        }
Ejemplo n.º 5
0
        public ActionResult Headquarters()
        {
            var userId = User.Identity.GetUserId();

            var buildings = this.buildingsService.GetPlayerBuildings(userId);
            var vM = new BuildingsViewModel(buildings) { Headquarters = new BuildingViewModel(buildings.HeadQuartersLevel, this.logic.Buildings.Headquarters)};

            var reqRes = this.playerService.GetPlayerResources(userId);
            ViewBag.Energy = reqRes.Energy;
            ViewBag.Crystal = reqRes.Crystal;
            ViewBag.Metal = reqRes.Metal;

            ViewBag.Title = vM.Headquarters.Name;

            return View(vM);
        }
Ejemplo n.º 6
0
        // GET: Planet/Buildings
        public ActionResult Index()
        {
            var userId = User.Identity.GetUserId();

            var buildings = this.buildingsService.GetPlayerBuildings(userId);
            var vM = new BuildingsViewModel(buildings)
            {
                Headquarters = new BuildingViewModel(buildings.HeadQuartersLevel, this.logic.Buildings.Headquarters),
                ResearchCentre = new BuildingViewModel(buildings.ResearchCentreLevel, this.logic.Buildings.ResearchCentre),
                Barracks = new BuildingViewModel(buildings.BarracksLevel, this.logic.Buildings.Barracks),
                SolarCollector = new ResourceBuildingViewModel(buildings.SolarCollectorLevel, this.logic.Buildings.SolarCollector),
                CrystalExtractor = new ResourceBuildingViewModel(buildings.CrystalExtractorLevel, this.logic.Buildings.CrystalExtractor),
                MetalScrapper = new ResourceBuildingViewModel(buildings.MetalScrapperLevel, this.logic.Buildings.MetalScrapper)
            };

            return View(vM);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            ViewModel = new BuildingsViewModel();

            AppPreferences ap = new AppPreferences(Application.Context);

            facilityId = Convert.ToInt32(ap.GetFacilityId());
            var data = Intent.GetStringExtra("data");

            informationButton        = FindViewById <Button>(Resource.Id.information_button);
            informationButton.Touch += (sender, e) =>
            {
                var intent = new Intent(this, typeof(FacilityInformationActivity));
                StartActivity(intent);
            };

            recyclerView = FindViewById <RecyclerView>(Resource.Id.buildingRecyclerView);
            addButton    = FindViewById <FloatingActionButton>(Resource.Id.addnewBuilding_button);

            recyclerView.HasFixedSize       = true;
            recyclerView.SetAdapter(adapter = new BrowseBuildingsAdapter(this, ViewModel));

            refresher = FindViewById <SwipeRefreshLayout>(Resource.Id.buildingRefresher);
            refresher.SetColorSchemeColors(Resource.Color.accent);
            addButton.Click += AddButton_Click;
            addButton.SetBackgroundColor(Android.Graphics.Color.Tan);

            Toolbar.MenuItemClick += (sender, e) =>
            {
                var intent = new Intent(this, typeof(LoginActivity));
                ap.SaveUserId("0");
                StartActivity(intent);
            };

            if (data != null)
            {
                facility = Newtonsoft.Json.JsonConvert.DeserializeObject <Facility>(data);
                SupportActionBar.Title = facility.Name;
            }

            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
        }
Ejemplo n.º 8
0
        public static MvcHtmlString ThumbnailView(this HtmlHelper helper,
                                                  BuildingsViewModel model,
                                                  string listViewType = "thumbnails")
        {
            StringBuilder sb = new StringBuilder();

            //check if building is under the account
            //check if the account id matches the account/accountid property of the building publishedcontent
            if (!model.Content.Parent.DocumentTypeAlias.Equals(Constants.ACCOUNT_DOCUMENTTYPE_ALIAS, StringComparison.OrdinalIgnoreCase))
            {
                return(new MvcHtmlString("<p>There is a problem with your request. Building is not found under account. Please check with administrator</p>"));
            }

            var buildings = model.Content.Children
                            .Where(x => x.DocumentTypeAlias.Equals(Constants.BUILDING_DOCUMENTTYPE_ALIAS, StringComparison.OrdinalIgnoreCase))
                            .Where(x => x.IsPropertyValid(Constants.ACTION_ITEM_ALIAS))
                            .Where(x => !Boolean.Parse(x.GetValidPropertyValue(Constants.ACTION_ITEM_ALIAS).ToString()));

            if (buildings != null)
            {
                foreach (var building in buildings.Where(x => x.IsPropertyValid(Constants.BUILDING_PROPERTY_ALIAS)))
                {
                    int buildingId = -1;
                    int.TryParse(building.GetValidPropertyValue(Constants.BUILDING_PROPERTY_ALIAS).ToString(), out buildingId);
                    if (buildingId > -1)
                    {
                        var buildingDetail = model.Buildings
                                             .Where(b => b.Id == buildingId)
                                             .FirstOrDefault();

                        //find the details, if it exists
                        if (buildingDetail != null)
                        {
                            sb.Append(Details(buildingDetail, building.Url, building.Name));
                        }
                    }
                }
            }

            return(new MvcHtmlString(sb.ToString()));
        }
Ejemplo n.º 9
0
 public DoorsProperties(InputController inputController)
 {
     InitializeComponent();
     m_inputController = inputController;
     this.DataContext  = m_vm = inputController.ViewModel;
 }
Ejemplo n.º 10
0
        protected async override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            building  = new Building();
            ViewModel = new BuildingsViewModel();
            AppPreferences ap = new AppPreferences(Android.App.Application.Context);

            facilityId = Convert.ToInt32(ap.GetFacilityId());
            userId     = Convert.ToInt32(ap.GetUserId());

            var data = Intent.GetStringExtra("data");

            // Create your application here

            saveButton            = FindViewById <FloatingActionButton>(Resource.Id.save_button);
            occupationYear        = FindViewById <EditText>(Resource.Id.etb_occupationyear);
            occupationyearLayout  = FindViewById <TextInputLayout>(Resource.Id.occupationyear_layout);
            gpscAddLocationButton = FindViewById <FloatingActionButton>(Resource.Id.gpscaddlocation_button);
            locationLinearlayout  = FindViewById <LinearLayout>(Resource.Id.blocation_linearlayout);
            tvbLatitude           = FindViewById <TextView>(Resource.Id.tvb_latitude);
            tvbLongitude          = FindViewById <TextView>(Resource.Id.tvb_longitude);
            buildingPhoto         = FindViewById <ImageView>(Resource.Id.imgb_buildingphoto);
            _GPSCoordinates       = new GPSCoordinate();
            buildingName          = FindViewById <EditText>(Resource.Id.etb_name);
            buildingType          = FindViewById <Spinner>(Resource.Id.sf_buildingtype);
            buildingstandard      = FindViewById <Spinner>(Resource.Id.sf_buildingstandard);
            utilisationStatus     = FindViewById <EditText>(Resource.Id.etb_utilisationstatus);
            nooOfFoors            = FindViewById <EditText>(Resource.Id.etb_nooffloors);
            totalFootprintAream2  = FindViewById <EditText>(Resource.Id.etb_totalfootprintaream2);
            totalImprovedaAeam2   = FindViewById <EditText>(Resource.Id.etb_totalimprovedaream2);
            heritage                = FindViewById <Switch>(Resource.Id.sf_heritage);
            disabledAccesss         = FindViewById <Spinner>(Resource.Id.sf_disabledaccesss);
            disabledComment         = FindViewById <EditText>(Resource.Id.etb_disabledcomment);
            constructionDescription = FindViewById <EditText>(Resource.Id.etb_constructiondescription);
            accuracyMessage         = FindViewById <TextView>(Resource.Id.accuracy_message);
            refashAccuracy          = FindViewById <FloatingActionButton>(Resource.Id.refreshaccuracy_button);
            refashAccuracy.Click   += RefashAccuracy_Click;


            _dir = ap.CreateDirectoryForPictures();
            Android.Content.Res.ColorStateList csl = new Android.Content.Res.ColorStateList(new int[][] { new int[0] }, new int[] { Android.Graphics.Color.ParseColor("#008000") }); gpscAddLocationButton.BackgroundTintList = csl;
            locationLinearlayout.Visibility = ViewStates.Gone;

            if (data != null)
            {
                building = Newtonsoft.Json.JsonConvert.DeserializeObject <Building>(data);
                isEdit   = true;
                SupportActionBar.Title = "Edit Building";
                occupationYear.Text    = building.OccupationYear;
                if (building.GPSCoordinates != null)
                {
                    tvbLatitude.Text  = "Lat: " + building.GPSCoordinates.Latitude;
                    tvbLongitude.Text = "Long: " + building.GPSCoordinates.Longitude;
                    _GPSCoordinates   = building.GPSCoordinates;
                    locationLinearlayout.Visibility = ViewStates.Visible;
                }
                buildingName.Text = building.BuildingName;
                buildingType.SetSelection(GetIndex(buildingType, building.BuildingType));
                buildingstandard.SetSelection(GetIndex(buildingstandard, building.BuildingStandard));
                disabledAccesss.SetSelection(GetIndex(disabledAccesss, building.DisabledAccess));
                utilisationStatus.Text       = building.Status;
                nooOfFoors.Text              = Convert.ToString(building.NumberOfFloors);
                totalFootprintAream2.Text    = Convert.ToString(building.FootPrintArea);
                totalImprovedaAeam2.Text     = Convert.ToString(building.ImprovedArea);
                heritage.Checked             = building.Heritage;
                disabledComment.Text         = building.DisabledComment;
                constructionDescription.Text = building.ConstructionDescription;

                Bitmap bit = SetImageBitmap(_dir + "/" + building.Photo);
                if (bit != null)
                {
                    buildingPhoto.SetImageBitmap(bit);
                }
                else if (bit == null && !String.IsNullOrEmpty(building.Photo))
                {
                    PictureViewModel pictureViewModel = new PictureViewModel();
                    Models.Picture   picture          = await pictureViewModel.ExecuteGetPictureCommand(building.Photo);

                    if (picture != null)
                    {
                        var _bit = ap.StringToBitMap(picture.File);
                        if (_bit != null)
                        {
                            SaveImage(_bit, building.Photo);
                        }
                        buildingPhoto.SetImageBitmap(_bit);
                    }
                }
            }
            else
            {
                SupportActionBar.Title = "Add New Building";
            }
            saveButton.Click += SaveButton_Click;
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
            gpscAddLocationButton.Click += AddLocation_Click;
            buildingPhoto.Click         += (sender, e) => { ShowImage_Click(); };

            GPSTracker GPSTracker = new GPSTracker();

            Android.Locations.Location location = GPSTracker.GPSCoordinate();
            if (location != null)
            {
                accuracyMessage.Text = String.Format("Accurate to {0} Meters", location.Accuracy.ToString());
            }
        }
        protected async override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            building       = new Building();
            ViewModel      = new BuildingsViewModel();
            appPreferences = new AppPreferences(Application.Context);
            facilityId     = Convert.ToInt32(appPreferences.GetFacilityId());
            userId         = Convert.ToInt32(appPreferences.GetUserId());
            helpers        = new UIHelpers();
            var data = Intent.GetStringExtra("data");

            occupationYear        = FindViewById <EditText>(Resource.Id.etb_occupationyear);
            occupationyearLayout  = FindViewById <TextInputLayout>(Resource.Id.occupationyear_layout);
            gpscAddLocationButton = FindViewById <ImageView>(Resource.Id.gpscaddlocation_button);
            tvblatLang            = FindViewById <TextView>(Resource.Id.tvf_latLang);
            buildingPhoto         = FindViewById <ImageView>(Resource.Id.imgb_buildingphoto);
            _GPSCoordinates       = new GPSCoordinate();
            buildingName          = FindViewById <EditText>(Resource.Id.etb_name);
            buildingType          = FindViewById <Spinner>(Resource.Id.sf_buildingtype);
            buildingstandard      = FindViewById <Spinner>(Resource.Id.sf_buildingstandard);
            utilisationStatus     = FindViewById <EditText>(Resource.Id.etb_utilisationstatus);
            nooOfFoors            = FindViewById <EditText>(Resource.Id.etb_nooffloors);
            totalFootprintAream2  = FindViewById <EditText>(Resource.Id.etb_totalfootprintaream2);
            totalImprovedaAeam2   = FindViewById <EditText>(Resource.Id.etb_totalimprovedaream2);
            heritage                = FindViewById <Switch>(Resource.Id.sf_heritage);
            disabledAccesss         = FindViewById <Spinner>(Resource.Id.sf_disabledaccesss);
            disabledComment         = FindViewById <EditText>(Resource.Id.etb_disabledcomment);
            constructionDescription = FindViewById <EditText>(Resource.Id.etb_constructiondescription);
            accuracyMessage         = FindViewById <TextView>(Resource.Id.accuracy_message);
            refashAccuracy          = FindViewById <ImageView>(Resource.Id.refreshaccuracy_button);
            refashAccuracy.Click   += RefashAccuracy_Click;

            _dir = appPreferences.CreateDirectoryForPictures();

            if (data != null)
            {
                building = Newtonsoft.Json.JsonConvert.DeserializeObject <Building>(data);
                isEdit   = true;
                SupportActionBar.Title = "Edit Building";
                occupationYear.Text    = building.OccupationYear;
                if (building.GPSCoordinates != null)
                {
                    tvblatLang.Text = "Lat: " + building.GPSCoordinates.Latitude + " Long: " + building.GPSCoordinates.Longitude;
                    _GPSCoordinates = building.GPSCoordinates;
                }
                buildingName.Text = building.BuildingName;
                buildingType.SetSelection(helpers.GetSpinnerIndex(buildingType, building.BuildingType));
                buildingstandard.SetSelection(helpers.GetSpinnerIndex(buildingstandard, building.BuildingStandard));
                disabledAccesss.SetSelection(helpers.GetSpinnerIndex(disabledAccesss, building.DisabledAccess));
                utilisationStatus.Text       = building.Status;
                nooOfFoors.Text              = Convert.ToString(building.NumberOfFloors);
                totalFootprintAream2.Text    = Convert.ToString(building.FootPrintArea);
                totalImprovedaAeam2.Text     = Convert.ToString(building.ImprovedArea);
                heritage.Checked             = building.Heritage;
                disabledComment.Text         = building.DisabledComment;
                constructionDescription.Text = building.ConstructionDescription;

                Bitmap bit = SetImageBitmap(_dir + "/" + building.Photo);
                if (bit != null)
                {
                    buildingPhoto.SetImageBitmap(bit);
                }
                else if (bit == null && !String.IsNullOrEmpty(building.Photo))
                {
                    PictureViewModel pictureViewModel = new PictureViewModel();
                    Models.Picture   picture          = await pictureViewModel.ExecuteGetPictureCommand(building.Photo);

                    if (picture != null)
                    {
                        var _bit = appPreferences.StringToBitMap(picture.File);
                        if (_bit != null)
                        {
                            SaveImage(_bit, building.Photo);
                        }
                        buildingPhoto.SetImageBitmap(_bit);
                    }
                }
            }
            else
            {
                SupportActionBar.Title = "Add New Building";
            }
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
            gpscAddLocationButton.Click += AddLocation_Click;
            buildingPhoto.Click         += (sender, e) => { ShowImage_Click(); };

            GPSTracker GPSTracker = new GPSTracker();

            Android.Locations.Location location = GPSTracker.GPSCoordinate();
            if (location != null)
            {
                accuracyMessage.Text = String.Format("Accurate to {0} Meters", location.Accuracy.ToString());
            }

            Toolbar.MenuItemClick += (sender, e) =>
            {
                var itemTitle = e.Item.TitleFormatted;
                switch (itemTitle.ToString())
                {
                case "Log Out":
                    var intent = new Intent(this, typeof(LoginActivity));
                    appPreferences.SaveUserId("0");
                    StartActivity(intent);
                    break;

                case "Save":
                    SaveBuilding();
                    break;
                }
            };
        }
 public BasementProperties(BuildingsViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = m_viewModel = viewModel;
 }
Ejemplo n.º 13
0
        public ActionResult ResearchCentre()
        {
            var userId = User.Identity.GetUserId();

            var buildings = this.buildingsService.GetPlayerBuildings(userId);
            var vM = new BuildingsViewModel(buildings)
            {
                ResearchCentre = new BuildingViewModel(buildings.ResearchCentreLevel, this.logic.Buildings.ResearchCentre),
                // For prerequisite checks
                Headquarters = new BuildingViewModel { Level = buildings.HeadQuartersLevel}
            };

            var reqRes = this.playerService.GetPlayerResources(userId);
            ViewBag.Energy = reqRes.Energy;
            ViewBag.Crystal = reqRes.Crystal;
            ViewBag.Metal = reqRes.Metal;

            ViewBag.Title = vM.ResearchCentre.Name;

            return View(vM);
        }
Ejemplo n.º 14
0
        public ActionResult BMBuildingsPage(RenderModel model)
        {
            BuildingsViewModel buildingsViewModel = new BuildingsViewModel(model.Content);

            var buildings = CurrentPage.Children
                            .Where(x => x.DocumentTypeAlias.Equals(Constants.BUILDING_DOCUMENTTYPE_ALIAS, StringComparison.OrdinalIgnoreCase))
                            .Where(x => x.IsPropertyValid(Constants.ACTION_ITEM_ALIAS))
                            .Where(x => !Boolean.Parse(x.GetValidPropertyValue(Constants.ACTION_ITEM_ALIAS).ToString()));

            if (buildings != null)
            {
                //get building with correctly set building property
                foreach (var bldg in buildings.Where(b => b.IsPropertyValid(Constants.BUILDING_PROPERTY_ALIAS)))
                {
                    try
                    {
                        int buildingId = -1;
                        int.TryParse(bldg.GetValidPropertyValue(Constants.BUILDING_PROPERTY_ALIAS).ToString(), out buildingId);
                        if (buildingId > -1)
                        {
                            //check if actual building object from db exists
                            var building = _buildingService.GetBuildingById(buildingId);
                            if (building != null)
                            {
                                //TODO: or better get from property 'description' in content node
                                var buildingInfo = BuildingInformation.CreateModel(
                                    building.Id,
                                    building.Name,
                                    building.Description
                                    );
                                buildingInfo.Name        = building.Name;
                                buildingInfo.Description = building.Description; //TODO: or better get from property in content node

                                IAsset defaultMediaAsset = MediaManager.GetDefaultBuildingAsset(buildingId);
                                if (defaultMediaAsset != null)
                                {
                                    buildingInfo.SetDefaultAsset(defaultMediaAsset);
                                }


                                //TODO: wrap this on an address manager
                                var addresses = _buildingService.GetAddresses(building);
                                if (addresses != null && addresses.Count > 0)
                                {
                                    buildingInfo.Addresses = addresses;
                                }
                                //================================

                                buildingsViewModel.Buildings.Add(buildingInfo);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Error <BMBuildingListingController>(ex.Message, ex);
                        continue;
                    }
                }
            }

            return(CurrentTemplate(buildingsViewModel));
        }
Ejemplo n.º 15
0
 public RoofProperties(BuildingsViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = viewModel;
 }
 public WindowsProperties(InputController inputController)
 {
     InitializeComponent();
     this.DataContext  = m_viewModel = inputController.ViewModel;
     m_inputController = inputController;
 }
Ejemplo n.º 17
0
 public BuildingsView(BuildingsViewModel viewModel)
 {
     InitializeComponent();
     DataContext = viewModel;
 }