示例#1
0
 public TransferModalpage(AssetDetailNames Names_, SQLiteConnection _connection_, int count, AssetDisplayClass assetData, string Site, string Location, string Sublocation = null, string Person = null)
 {
     _connection    = _connection_;
     _Names         = Names_;
     _globalcount   = count;
     _Site          = Site;
     _Location      = Location;
     _Sublocation   = Sublocation;
     _assetData     = assetData;
     _People        = Person;
     BindingContext = _assetData;
     InitializeComponent();
     AssetName_.Text       = _Names.Name;
     Barcode.Text          = _Names.Barcode;
     SiteName_.Text        = _Names.Site;
     LocationName_.Text    = _Names.Location;
     SublocationName_.Text = _Names.SubLocation;
     QuantityName_.Text    = _Names.Quantity;
     if (_People != null)
     {
         TransferButton.Text    = "Assign";
         QtyName_to_assign.Text = _Names.Quantity + " to assign";
     }
     else
     {
         QtyName_to_assign.Text = _Names.Quantity + " to move";
     }
 }
示例#2
0
 public AssetListPage(SQLiteConnection connection_, LocationClass location, AssetDetailNames Names_, SublocationClass sublocation = null, DepartmentClass department = null)
 {
     _Names = Names_;
     MessagingCenter.Subscribe <string>(this, "Datawedge", (sender) => {
         SearchBar_.Text = sender;
     });
     if (department != null)
     {
         BindingContext = department ?? throw new ArgumentNullException();
     }
     else if (sublocation != null)
     {
         BindingContext = sublocation ?? throw new ArgumentNullException();
     }
     else
     {
         BindingContext = location ?? throw new ArgumentNullException();
     }
     _location    = location;
     _sublocation = sublocation;
     _department  = department;
     InitializeComponent();
     BarcodeImage.Source       = ImageSource.FromResource("eQuipMobile.Images.Camera_icon.png");
     _connection               = connection_;
     AssetListView.ItemsSource = GetAssetList(_location, _sublocation, _department);
 }
示例#3
0
        public ShowSummaryPage(SQLiteConnection connection_, AssetDetailNames Names_, string Site_, string Location, string SubLocation, int Dep_ = 0)
        {
            _connection = connection_;
            _Names      = Names_;
            InitializeComponent();
            var result = Database.Assets.GetAssetListForSearch(_connection, Site_, Location, SubLocation, Dep_);
            int Audited = 0, Moved = 0, Cust = 0, Added = 0, quant = 0, dpt = 0, emp = 0;

            foreach (AssetDbClass Assetrecord in result)
            {
                var Result = JsonConvert.DeserializeObject <AssetJsonObject>(Assetrecord.AssetJSONDb);
                switch (Result.AuditStatus)
                {
                case "AUDITED":
                    Audited = Audited + 1;
                    break;

                case "RECON-Moved":
                    Moved = Moved + 1;
                    break;

                case "RECON-Added":
                    Added = Added + 1;
                    break;

                case "RECON-Custodian":
                    Cust = Cust + 1;
                    break;

                case "RECON-Quantity":
                    quant = quant + 1;
                    break;

                case "RECON-Department":
                    dpt = dpt + 1;
                    break;

                default:
                    emp = emp + 1;
                    break;
                }
            }
            var Workflow = new WorkflowClass
            {
                AuditedAssets   = Audited.ToString(),
                NotAudited      = emp.ToString(),
                ReconAdded      = Added.ToString(),
                TotalAssets     = result.Count().ToString(),
                ReconCustodian  = Cust.ToString(),
                ReconDepartment = dpt.ToString(),
                ReconMoved      = Moved.ToString(),
                ReconQuantity   = quant.ToString()
            };

            WorkflowSummary.ItemsSource = new List <WorkflowClass>
            {
                Workflow
            };
        }
示例#4
0
 public TransferListPage(AssetDetailNames Names_, SQLiteConnection _connection_, IEnumerable <AssetDisplayClass> transferList_, string Site, string Location, string Sublocation = null, string People = null)
 {
     _Names      = Names_;
     _connection = _connection_;
     InitializeComponent();
     _Site        = Site;
     _People      = People;
     _Location    = Location;
     _Sublocation = Sublocation;
     TransferListView.ItemsSource = AssetDisplayClass.FullDetails(transferList_, _Names);
 }
示例#5
0
 public LocationPage(SQLiteConnection connection_, SitesClass site, AssetDetailNames Names_)
 {
     _Names = Names_;
     MessagingCenter.Subscribe <string>(this, "Datawedge", (sender) => {
         SearchBar_.Text = sender;
     });
     BindingContext = site ?? throw new ArgumentNullException();
     InitializeComponent();
     BarcodeImage.Source          = ImageSource.FromResource("eQuipMobile.Images.Camera_icon.png");
     _connection                  = connection_;
     _locationSiteID              = site.SiteIdInternal;
     locationListView.ItemsSource = GetLocations(_locationSiteID);
 }
示例#6
0
 public AddAuditPage(AssetDetailNames Names_, string site, string location, string sublocation, int department, string barcode, SQLiteConnection connection)
 {
     _Names      = Names_;
     _connection = connection;
     InitializeComponent();
     BindingContext     = _Names;
     assetBarcode_.Text = barcode;
     LoadSites(site);
     LoadLocation(site, location);
     LoadSublocations(location, sublocation);
     LoadDepartment(department);
     LoadCondition();
     LoadUsage();
 }
示例#7
0
        public SublocationPage(SQLiteConnection _connection_, LocationClass location, AssetDetailNames Names_)
        {
            _Names = Names_;
            MessagingCenter.Subscribe <string>(this, "Datawedge", (sender) => {
                SearchBar_.Text = sender;
            });
            BindingContext = location ?? throw new ArgumentNullException();
            _location      = location;
            _connection    = _connection_;
            var SublocationsPresent = Database.SubLocations.GetTableDataFromLocations(_connection, _location.LocationIdInternal);

            InitializeComponent();
            BarcodeImage.Source             = ImageSource.FromResource("eQuipMobile.Images.Camera_icon.png");
            SublocationListView.ItemsSource = GetSublocations(_location);
        }
示例#8
0
 public AuditList(AssetDetailNames Names_, IEnumerable <AssetDbClass> AssetList, SQLiteConnection connection, bool Auditing, string Site, string Location, string Sublocation, int Department, string Person = null, string PersonName = null)
 {
     try
     {
         MessagingCenter.Subscribe <AuditRecordPage, string>(this, "Pop", (sender, arg) =>
         {
             Navigation.PopAsync();
         });
         _Names = Names_;
         InitializeComponent();
         _AssetList   = AssetList;
         _Auditing    = Auditing;
         _Site        = Site;
         _Location    = Location;
         _Sublocation = Sublocation;
         _Department  = Department;
         _connection  = connection;
         if (Database.Settings.GetTableData(_connection).BlindAudit)
         {
             AuditListView2.IsVisible   = true;
             AuditListView.IsVisible    = false;
             AuditListView2.ItemsSource = AssetClass.DbToAssetClass(_AssetList, _Names, _connection);
         }
         else
         {
             AuditListView.IsVisible   = true;
             AuditListView2.IsVisible  = false;
             AuditListView.ItemsSource = AssetClass.DbToAssetClass(_AssetList, _Names, _connection);
         }
         if (Person != null)
         {
             PersonButton.IsVisible = true;
             _PersonID        = Person;
             PersonName_.Text = PersonName + "'s Assets";
         }
     }
     catch (Exception exe)
     {
         DependencyService.Get <IError>().SendRaygunError(exe, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
         throw (new Exception(exe.Message));
     }
 }
示例#9
0
        public ScanBarcodeUpdatePage(AssetDetailNames Names_, AssetDisplayClass details, SQLiteConnection connection_)
        {
            InitializeComponent();
            BindingContext = details;
            _connection    = connection_;
            var inermediate = Database.Assets.GetAssetDataByAssetIDInternal(_connection, details.AssetIdInternal);

            _synced          = inermediate.First().Synced;
            _Asset           = AssetClass.DbToAssetClass(inermediate).First().AssetJSON;
            details.Quantity = _Asset.Quantity;
            _Names           = Names_;
            scanbarcodeupdateasset.ItemsSource = new List <AssetDisplayClass>()
            {
                AssetDisplayClass.GetDetails(details)
            };
            //if (Application.Current.MainPage.Height <= 568)
            //{
            //    Scan_scroll.HeightRequest = 550;
            //}
        }
示例#10
0
        public AuditRecordPage(AssetDetailNames Names_, AssetDbClass Asset, string Site, string Location, string Sublocation, int Department, SQLiteConnection connection, string Person = null)
        {
            _Names = Names_;
            InitializeComponent();
            LoadNames();
            if (Site == null)
            {
                _SiteID      = Asset.Asset_SiteIdInternal;
                _LocationID  = Asset.Asset_locationIdInternal;
                _Sublocation = Asset.Asset_SublocationIdInternal;
                _Department  = Asset.Asset_Department;
            }
            else
            {
                _SiteID      = Site;
                _LocationID  = Location;
                _Sublocation = Sublocation;
                _Department  = Department;
            }
            if (Person != null)
            {
                _Person           = Person;
                AuditButton_.Text = "Audit To Person";
            }
            _connection = connection;
            QuantityDisplay.IsVisible = !Database.Settings.GetTableData(_connection).BlindAudit;
            IEnumAsset_ = new AssetDbClass[] { Asset };
            var AuditAsset_ = JsonConvert.DeserializeObject <AssetJsonObject>(Asset.AssetJSONDb);

            if (AuditAsset_.AuditDate == Convert.ToDateTime("01/01/1900 00:00:00"))
            {
                auditDate_.Text = "";
            }
            else
            {
                auditDate_.Text = AuditAsset_.AuditDate.ToString("s");
            }
            BindingContext = AuditAsset_;
        }
示例#11
0
 public SaveAndContinuePage(SQLiteConnection connection_, AssetDetailNames Names_, string SiteID, string LocationID, string Sublocation = null)
 {
     _Names      = Names_;
     _connection = connection_;
     InitializeComponent();
     BarcodeImage.Source = ImageSource.FromResource("eQuipMobile.Images.Camera_icon.png");
     if (Application.Current.MainPage.Width < 768)
     {
         BarcodeImage.Margin = new Thickness(10, 0, 10, 0);
     }
     BarcodeBartext.Text = "Scan the " + Names_.Barcode + " or type it into the search bar to audit it.";
     _SiteID             = SiteID;
     _LocationID         = LocationID;
     _Sublocation        = Sublocation;
     if (Application.Current.Properties.ContainsKey("Department") && Application.Current.Properties["Department"] != null)
     {
         LoadDepartment(Convert.ToInt16(Application.Current.Properties["Department"].ToString()));
     }
     else
     {
         LoadDepartment();
     }
 }
示例#12
0
 private void loadvalues()
 {
     try
     {
         AssetDetailNames Names = JsonConvert.DeserializeObject <AssetDetailNames>(Application.Current.Properties["DesignInformation"].ToString());
         _Names = Names;
         List <AssetDisplayClass> defaultList_ = new List <AssetDisplayClass>
         {
             AssetDisplayClass.FullDetails(
                 new AssetDisplayClass
             {
                 AssetName    = "Asset Name",
                 Barcode      = "Example barcode",
                 LocationName = "Example Location",
                 SiteName     = "Example Site",
                 Quantity     = 0,
                 Asset_SublocationIdInternal = "Example sublocation",
                 AssetIdInternal             = "00",
                 AssetSerialNo         = "oo",
                 Cost                  = 4,
                 AssetBarcode_         = "Barcode",
                 AssetCost_            = "Cost",
                 AssetLocationName_    = "Location",
                 AssetQuantity_        = "Qty",
                 AssetSerialNo_        = "Serial",
                 AssetSubLocationName_ = "SubLocation",
                 AssetSiteName_        = "Site"
             }, _Names)
         };
         defaultList = defaultList_;
     }
     catch (Exception exc)
     {
         DependencyService.Get <IError>().SendRaygunError(exc, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
         DisplayAlert("Error", exc.Message, "OK");
     }
 }
示例#13
0
        public static AssetDisplayClass FullDetails(AssetDisplayClass display_, AssetDetailNames Name)
        {
            AssetJsonObject details = new AssetJsonObject();

            if (display_.AssetJSONDb != null)
            {
                details = JsonConvert.DeserializeObject <AssetJsonObject>(display_.AssetJSONDb);
            }
            else
            {
                details.Quantity      = 0;
                details.AssetSerialNo = "000000";
                details.Price         = 0;
            }
            var returnedAssetDb = new AssetDisplayClass
            {
                AssetIdInternal             = display_.AssetIdInternal,
                Barcode                     = display_.Barcode,
                AssetName                   = display_.AssetName,
                Quantity                    = details.Quantity,
                AssetSerialNo               = details.AssetSerialNo,
                Cost                        = details.Price,
                SiteName                    = display_.SiteName,
                LocationName                = display_.LocationName,
                Asset_SublocationIdInternal = display_.Asset_SublocationIdInternal,
                AssetJSONDb                 = display_.AssetJSONDb,
                AssetBarcode_               = Name.Barcode,
                AssetSiteName_              = Name.Site,
                AssetLocationName_          = Name.Location,
                AssetSerialNo_              = Name.SerialNo,
                AssetSubLocationName_       = Name.SubLocation,
                AssetQuantity_              = Name.Quantity,
                AssetCost_                  = Name.Price
            };

            return(returnedAssetDb);
        }
示例#14
0
        public static List <AssetClass> DbToAssetClass(IEnumerable <AssetDbClass> AssetJSON_, AssetDetailNames Names = null, SQLiteConnection _connection = null)
        {
            var AssetList = new List <AssetClass>();

            foreach (AssetDbClass AssetDBData in AssetJSON_)
            {
                var intermediateAsset = new AssetClass
                {
                    AssetIdInternal             = AssetDBData.AssetIdInternal,
                    Asset_SiteIdInternal        = AssetDBData.Asset_SiteIdInternal,
                    Asset_locationIdInternal    = AssetDBData.Asset_locationIdInternal,
                    Asset_SublocationIdInternal = AssetDBData.Asset_SublocationIdInternal,
                    AssetName              = AssetDBData.AssetName,
                    Asset_Department       = AssetDBData.Asset_Department,
                    AssetSerialNumber      = AssetDBData.AssetSerialNumber,
                    Asset_PeopleIdInternal = AssetDBData.Asset_PeopleIdInternal,
                    Barcode     = AssetDBData.Barcode,
                    AssetJSON   = JsonConvert.DeserializeObject <AssetJsonObject>(AssetDBData.AssetJSONDb),
                    ChangesMade = JsonConvert.DeserializeObject <List <Changesmade> >(AssetDBData.AssetChangesDb),
                    Synced      = AssetDBData.Synced
                };
                if (_connection != null)
                {
                    try
                    {
                        intermediateAsset.SiteName_     = Database.Sites.GetTableData(_connection).Single(cm => cm.SiteIdInternal == AssetDBData.Asset_SiteIdInternal).SiteName;
                        intermediateAsset.LocationName_ = Database.Locations.GetTableDataFromSites(_connection, AssetDBData.Asset_SiteIdInternal).Single(cm => cm.LocationIdInternal == AssetDBData.Asset_locationIdInternal).LocationName;
                    }
                    catch (Exception exc)
                    {
                        DependencyService.Get <IError>().SendRaygunError(exc, Application.Current.Properties["user"].ToString() ?? "unsynced", Application.Current.Properties["url"].ToString() ?? "unsynced", null);
                    }
                }
                if (Names != null)
                {
                    intermediateAsset.BarcodeDisplay_                     = Names.Barcode;
                    intermediateAsset.AssetSerialNumberDisplay_           = Names.SerialNo;
                    intermediateAsset.Asset_SublocationIdInternalDisplay_ = Names.SubLocation;
                    intermediateAsset.QuantityDisplay_                    = Names.Quantity;
                    intermediateAsset.OriginalPartDisplay_                = Names.OriginalPartNo;
                    intermediateAsset.AuditStatusDisplay_                 = Names.AuditStatus;
                    intermediateAsset.UIDDisplay_      = Names.Asset_UID;
                    intermediateAsset.SiteDisplay_     = Names.Site;
                    intermediateAsset.LocationDisplay_ = Names.Location;
                }
                AssetList.Add(intermediateAsset);
            }
            return(AssetList);
        }
示例#15
0
        public static List <LocationClass> DbToLocation(IEnumerable <LocationsDbTable> LocationDb, SQLiteConnection _connection, AssetDetailNames Names = null)
        {
            var LocationClassList = new List <LocationClass>();

            foreach (LocationsDbTable LocationDbrecord in LocationDb)
            {
                var _intLoc = new LocationClass
                {
                    LocationIdInternal  = LocationDbrecord.LocationIdInternal,
                    LocationBarcode     = LocationDbrecord.LocationBarcode,
                    LocationDescription = LocationDbrecord.LocationDescription,
                    LocationName        = LocationDbrecord.LocationName,
                    SiteIdInternal      = LocationDbrecord.SiteIdInternal,
                    SubCount            = Database.SubLocations.GetTableDataFromLocations(_connection, LocationDbrecord.LocationIdInternal).Count(),
                    Count = Database.Assets.GetTableDataFromSiteLocation(_connection, LocationDbrecord.SiteIdInternal, LocationDbrecord.LocationIdInternal).Count()
                };
                if (Names != null)
                {
                    _intLoc.LocationName_    = Names.Location;
                    _intLoc.SublocationName_ = Names.SubLocation;
                }
                LocationClassList.Add(_intLoc);
            }
            return(LocationClassList);
        }
示例#16
0
        public static IEnumerable <AssetDisplayClass> FullDetails(IEnumerable <AssetDisplayClass> AssetDisplay, AssetDetailNames Name)
        {
            List <AssetDisplayClass> returnedAssetDb = new List <AssetDisplayClass>();

            foreach (AssetDisplayClass display_ in AssetDisplay)
            {
                var details       = JsonConvert.DeserializeObject <AssetJsonObject>(display_.AssetJSONDb);
                var singledisplay = new AssetDisplayClass
                {
                    AssetIdInternal             = display_.AssetIdInternal,
                    Quantity                    = details.Quantity,
                    AssetSerialNo               = details.AssetSerialNo,
                    Cost                        = details.Price,
                    Barcode                     = display_.Barcode,
                    AssetName                   = display_.AssetName,
                    SiteName                    = display_.SiteName,
                    LocationName                = display_.LocationName,
                    Asset_SublocationIdInternal = display_.Asset_SublocationIdInternal,
                    AssetJSONDb                 = display_.AssetJSONDb,
                    AssetBarcode_               = Name.Barcode,
                    AssetSiteName_              = Name.Site,
                    AssetLocationName_          = Name.Location,
                    AssetSerialNo_              = Name.SerialNo,
                    AssetSubLocationName_       = Name.SubLocation,
                    AssetQuantity_              = Name.Quantity,
                    AssetCost_                  = Name.Price
                };
                returnedAssetDb.Add(singledisplay);
            }

            return(returnedAssetDb);
        }
示例#17
0
        public static List <SublocationClass> DbToSubLocation(IEnumerable <SubLocationsDbTable> SublocationDb, AssetDetailNames Names = null)
        {
            var SubLocationClassList = new List <SublocationClass>();

            foreach (SubLocationsDbTable SubLocationDbrecord in SublocationDb)
            {
                var _intSubLoc = new SublocationClass
                {
                    SubLocationName        = SubLocationDbrecord.SubLocationName ?? "DefaultSublocationName",
                    Location_ID_Internal   = SubLocationDbrecord.Location_ID_Internal,
                    SubLocationID_Internal = SubLocationDbrecord.SubLocationID_Internal
                };
                if (Names != null)
                {
                    _intSubLoc.SubLocationName_ = Names.SubLocation;
                }
                SubLocationClassList.Add(_intSubLoc);
            }
            return(SubLocationClassList);
        }
示例#18
0
            public static IEnumerable <PropertyPassDisplay> GetData(IEnumerable <PropertyPassDisplay> display, AssetDetailNames Names_)
            {
                var returnval = display;

                foreach (PropertyPassDisplay PPDisplay in display)
                {
                    PPDisplay.Display_Barcode  = Names_.Barcode;
                    PPDisplay.Display_Quantity = Names_.Quantity;
                }
                return(returnval);
            }
示例#19
0
        public static List <SitesClass> DbToSite(IEnumerable <SitesDbTable> SitesDb, SQLiteConnection _connection, AssetDetailNames Names = null)
        {
            var SitesList = new List <SitesClass>();

            foreach (SitesDbTable SiteDbRecord in SitesDb)
            {
                var intermediateSite = new SitesClass
                {
                    SiteIdInternal  = SiteDbRecord.SiteIdInternal,
                    SiteName        = SiteDbRecord.SiteName,
                    SiteCode        = SiteDbRecord.SiteCode,
                    SiteDescription = SiteDbRecord.SiteDescription,
                    Count           = Database.Locations.GetTableDataFromSites(_connection, SiteDbRecord.SiteIdInternal).Count()
                };
                if (Names != null)
                {
                    intermediateSite.SiteName_    = Names.Site;
                    intermediateSite.LocationName = Names.Location;
                }
                SitesList.Add(intermediateSite);
            }
            return(SitesList);
        }