Esempio n. 1
0
        public async void MyListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var media = CrossMedia.Current;

            // 権限チェック
            if (await CheckPermisson())
            {
                if (!media.IsTakePhotoSupported)
                {
                    await DisplayAlert("", "ファイルは読み込みできない。", "OK");

                    return;
                }

                string _ImageSrc  = (MyListView.SelectedItem as NewsListItemModel).ImageSrc;
                int    _CateLogId = (MyListView.SelectedItem as NewsListItemModel).CateLogId;

                List <IamgeSaveInfo> IamgeSaveInfoList = await SqliteUtil.Current.QueryIamgeSaveInfoByCateLogId(_CateLogId);

                var imageIdGroupList = IamgeSaveInfoList
                                       .Where(x => x.CateLogId == _CateLogId)
                                       .GroupBy(x => new { x.ImageID, x.CateLogId, x.Imagebuffer })
                                       .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                List <ImageColorInfo> ImageColorInfoList = await SqliteUtil.Current.QueryImageColorInfoByImageID(imageIdGroupList[0].Keys.ImageID);

                CataLogInfo cataLogInfo = await SqliteUtil.Current.QueryCataLog(_CateLogId);

                //FileStream _infoStream = new FileStream(_ImageSrc, FileMode.Open, FileAccess.Read);

                //await Navigation.PushModalAsync(new ImageDetail(Convert.FromBase64String(IamgeSaveInfoList[0].Imagebuffer), ImageColorInfoList, _ImageSrc));
                EventArgsEx eventargs = new EventArgsEx();
                eventargs.ByteArray = Convert.FromBase64String(IamgeSaveInfoList[0].Imagebuffer);
                eventargs.InputList = ImageColorInfoList;
                eventargs.Filepath  = _ImageSrc;
                if (cataLogInfo != null)
                {
                    eventargs.TitleName = cataLogInfo.Title;
                }
                await Navigation.PopModalAsync();

                OperationCompeleted?.Invoke(this, eventargs);
            }
        }
Esempio n. 2
0
        public async void OnSaveTitle(string title, SKData data)
        {
            try
            {
                int maxmaxImageId = -1;

                //search the max imageId from table [ImageColorInfo]
                List <ImageColorInfo> ImageIdList = await SqliteUtil.Current.QueryImageColorInfo();

                if (ImageIdList == null)
                {
                    return;
                }

                if (ImageIdList.Count > 0)
                {
                    maxmaxImageId = ImageIdList[ImageIdList.Count - 1].ImageID;
                }

                maxmaxImageId++;

                foreach (var imageColorItem in _listinfo)
                {
                    ImageColorInfo imageColorInfo = new ImageColorInfo();
                    imageColorInfo.ImageID      = maxmaxImageId;
                    imageColorInfo.HEXValue     = imageColorItem.HEXValue;
                    imageColorInfo.RGBValue     = imageColorItem.RGBValue;
                    imageColorInfo.HSLValue     = imageColorItem.HSLValue;
                    imageColorInfo.HSVValue     = imageColorItem.HSVValue;
                    imageColorInfo.CMYKValue    = imageColorItem.CMYKValue;
                    imageColorInfo.LABValue     = imageColorItem.LABValue;
                    imageColorInfo.MUNSELLValue = imageColorItem.MUNSELLValue;
                    imageColorInfo.PCCSValue    = imageColorItem.PCCSValue;
                    imageColorInfo.XValue       = imageColorItem.XValue;
                    imageColorInfo.YValue       = imageColorItem.YValue;
                    imageColorInfo.ScaledRatio  = imageColorItem.ScaledRatio;
                    imageColorInfo.XPis         = imageColorItem.XPis;
                    imageColorInfo.YPis         = imageColorItem.YPis;
                    imageColorInfo.DefX         = imageColorItem.DefX;
                    imageColorInfo.DefY         = imageColorItem.DefY;
                    int retImageColorInfo = await SqliteUtil.Current.InsertImageColorInfo(imageColorInfo);
                }

                //insert into table [IamgeSaveInfo]
                IamgeSaveInfo imageinfo = new IamgeSaveInfo();
                imageinfo.ImageID        = maxmaxImageId;
                imageinfo.ImagePath      = _fullFilePath;
                imageinfo.Imagebuffer    = Convert.ToBase64String(data.ToArray());
                imageinfo.Createdatetime = DateTime.Now;
                int retIamgeSaveInfo = await SqliteUtil.Current.InsertImageInfo(imageinfo);

                List <IamgeSaveInfo> IamgeSaveInfoList = await SqliteUtil.Current.QueryIamgeSaveInfoByImageID(maxmaxImageId);

                var CateLogIdGroupList = IamgeSaveInfoList
                                         .GroupBy(x => new { x.CateLogId })
                                         .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                List <CataLogInfo> cataList = await SqliteUtil.Current.QueryCataLogInfoByCateLogId(CateLogIdGroupList[CateLogIdGroupList.Count - 1].Keys.CateLogId);

                var CateLogIdTitleGroupList = cataList
                                              .GroupBy(x => new { x.Title })
                                              .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                CataLogInfo catalog = new CataLogInfo();
                catalog.CateLogId      = CateLogIdGroupList[CateLogIdGroupList.Count - 1].Keys.CateLogId;
                catalog.Folder         = "";
                catalog.Title          = title;
                catalog.CreateDatetime = DateTime.Now;
                catalog.Description    = "風景";

                int ret = await SqliteUtil.Current.InsertCataLog(catalog);

                if (ret == 1)
                {
                    TitleName = title;
                    await DisplayAlert("", "保存しました。", "OK");

                    //DependencyService.Get<IAdmobView>().Show();
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        public async void OnSaveTitle(string title)
        {
            try
            {
                int maxmaxImageId = -1;

                //search the max imageId from table [ImageColorInfo]
                List <ImageColorInfo> ImageIdList = await SqliteUtil.Current.QueryImageColorInfo();

                if (ImageIdList == null)
                {
                    return;
                }

                if (ImageIdList.Count > 0)
                {
                    maxmaxImageId = ImageIdList[ImageIdList.Count - 1].ImageID;
                }

                maxmaxImageId++;

                foreach (var imageColorItem in _listinfo)
                {
                    ImageColorInfo imageColorInfo = new ImageColorInfo();
                    imageColorInfo.ImageID      = maxmaxImageId;
                    imageColorInfo.HEXValue     = imageColorItem.HEXValue;
                    imageColorInfo.RGBValue     = imageColorItem.RGBValue;
                    imageColorInfo.HSLValue     = imageColorItem.HSLValue;
                    imageColorInfo.HSVValue     = imageColorItem.HSVValue;
                    imageColorInfo.CMYKValue    = imageColorItem.CMYKValue;
                    imageColorInfo.LABValue     = imageColorItem.LABValue;
                    imageColorInfo.MUNSELLValue = imageColorItem.MUNSELLValue;
                    imageColorInfo.PCCSValue    = imageColorItem.PCCSValue;
                    imageColorInfo.XValue       = imageColorItem.XValue;
                    imageColorInfo.YValue       = imageColorItem.YValue;
                    int retImageColorInfo = await SqliteUtil.Current.InsertImageColorInfo(imageColorInfo);
                }

                //insert into table [IamgeSaveInfo]
                IamgeSaveInfo imageinfo = new IamgeSaveInfo();
                //int _imageId = _listinfo[0].ImageID;
                imageinfo.ImageID        = maxmaxImageId;
                imageinfo.ImagePath      = _ImagePath;
                imageinfo.Createdatetime = DateTime.Now;
                int retIamgeSaveInfo = await SqliteUtil.Current.InsertImageInfo(imageinfo);

                List <IamgeSaveInfo> IamgeSaveInfoList = await SqliteUtil.Current.QueryIamgeSaveInfoByImageID(maxmaxImageId);

                var CateLogIdGroupList = IamgeSaveInfoList
                                         .GroupBy(x => new { x.CateLogId })
                                         .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                List <CataLogInfo> cataList = await SqliteUtil.Current.QueryCataLogsByFolder(strFolderName);

                var CateLogIdTitleGroupList = cataList
                                              .GroupBy(x => new { x.Title })
                                              .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                //foreach (var title in CateLogIdTitleGroupList)
                //{
                //    if (strTitleName == title.Keys.Title)
                //    {
                //        await DisplayAlert("提示", "同じ保存タイトル名、もう一度選択してください。", "確定");
                //        await Navigation.PushModalAsync(new MainStoreList(List < ImageColorInfo > listinfo, int flag, string imagePath));
                //        return;
                //    }
                //}

                CataLogInfo catalog = new CataLogInfo();
                catalog.CateLogId      = CateLogIdGroupList[CateLogIdGroupList.Count - 1].Keys.CateLogId;
                catalog.Folder         = strFolderName;
                catalog.Title          = title;
                catalog.CreateDatetime = DateTime.Now;
                catalog.Description    = "風景";

                int ret = await SqliteUtil.Current.InsertCataLog(catalog);

                if (ret == 1)
                {
                    await DisplayAlert("", "保存しました。", "確定");
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }