Пример #1
0
        public static void SaveImage(int fileNumber, string filePath, int vehicleid)
        {
            Image image = new Image();

            image.VehicleID  = vehicleid;
            image.FileNumber = fileNumber;
            image.FileName   = filePath;

            using (Connection sqlConn = new Connection(SQLiteBoostDB.GetDBPath())) {
                VehicleImagesDB vidb = new VehicleImagesDB(sqlConn);
                vidb.RemoveImage(vehicleid, fileNumber);
                vidb.AddImage(image);
            }
        }
Пример #2
0
        private List <ImageForUpload> CalculateMaxForPrepageImages()
        {
            List <ImageForUpload> list = new List <ImageForUpload>();

            using (Connection sqlConn = new Connection(SQLiteBoostDB.GetDBPath())) {
                VehicleImagesDB vidb = new VehicleImagesDB(sqlConn);
                DamageDB        ddb  = new DamageDB(sqlConn);

                foreach (UploadDealerVehiclesList dealerVehicles in listDealerVehicles)
                {
                    foreach (int VehicleId in dealerVehicles.VehicleIDs)
                    {
                        List <Image>  listOfImages            = vidb.GetImagesList(VehicleId);
                        List <Damage> listOfDamagesWithImages = ddb.GetDamagesWithImages(VehicleId);

                        if ((listOfImages == null || listOfImages.Count <= 0) && (listOfDamagesWithImages == null || listOfDamagesWithImages.Count <= 0))
                        {
                            continue;
                        }

                        foreach (Image image in listOfImages)
                        {
                            if (!image.FileName.Contains("http://"))
                            {
                                list.Add(new ImageForUpload()
                                {
                                    vehicleId = VehicleId, dealershipId = dealerVehicles.DealershipID, fileNumber = image.FileNumber, filePath = image.FileName, damageId = 0
                                });
                            }
                        }

                        foreach (Damage dmg in listOfDamagesWithImages)
                        {
                            if (!dmg.FileName.Contains("http://"))
                            {
                                list.Add(new ImageForUpload()
                                {
                                    vehicleId = VehicleId, dealershipId = dealerVehicles.DealershipID, filePath = dmg.FileName, damageId = dmg.ID
                                });
                            }
                        }
                    }
                }
            }
            return(list);
        }
        private void bw_SaveMulti(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            List <ALAsset> results = (List <ALAsset>)e.Argument;
            List <string>  errors  = new List <string> ();

            using (Connection sqlConn = new Connection(SQLiteBoostDB.GetDBPath())) {
                VehicleImagesDB vidb = new VehicleImagesDB(sqlConn);
                vidb.RemoveAllImages(this.vehicleId);
            }

            var imagePath = Graphics.GetImagePath(vehicleId);

            int counter = 0;

            foreach (var asset in results)
            {
                var obj = asset.AssetType;
                if (obj == default(ALAssetType))
                {
                    continue;
                }

                using (var rep = asset.DefaultRepresentation) {
                    if (rep != null)
                    {
                        //var result = new AssetResult ();
                        using (CoreGraphics.CGImage cgImage = rep.GetFullScreenImage()) {
                            UIImageOrientation orientation = UIImageOrientation.Up;
                            using (UIImage uiImage = new UIImage(cgImage, 1.0f, orientation)) {
                                counter++;
                                string  filePath = Path.Combine(imagePath, "image_" + counter + ".jpg");
                                string  thumbPath = Path.Combine(imagePath, "thumb_" + counter + ".jpg");
                                NSError fileError, thumbError;

                                try {
                                    if (!Directory.Exists(imagePath))
                                    {
                                        Directory.CreateDirectory(imagePath);
                                    }
                                    if (File.Exists(filePath))
                                    {
                                        File.Delete(filePath);
                                    }
                                    if (File.Exists(thumbPath))
                                    {
                                        File.Delete(thumbPath);
                                    }

                                    using (NSData jpegData = uiImage.AsJPEG()) {
                                        jpegData.Save(filePath, NSDataWritingOptions.Atomic, out fileError);
                                        using (UIImage thumb = Graphics.ResizeImage(UIImage.LoadFromData(jpegData), 100f, 75f))
                                            thumb.AsJPEG().Save(thumbPath, NSDataWritingOptions.Atomic, out thumbError);

                                        if (fileError != null)
                                        {
                                            throw new Exception("Error saving image. " + fileError.ToString());
                                        }
                                        if (thumbError != null)
                                        {
                                            throw new Exception("Error saving thumbnail. " + thumbError.ToString());
                                        }

                                        Graphics.SaveImage(counter, filePath, vehicleId);
                                    }
                                }
                                catch (Exception ex) {
                                    errors.Add(ex.ToString());
                                }
                            }
                        }
                    }
                }
            }

            results = null;

            e.Result = errors;
        }
Пример #4
0
        private void swapimage(int oldFileNumber, int newFileNumber)
        {
            using (Connection sqlConn = new Connection(SQLiteBoostDB.GetDBPath())) {
                VehicleImagesDB vidb     = new VehicleImagesDB(sqlConn);
                Image           oldImage = vidb.GetImage(vehicleid, oldFileNumber);
                Image           newImage = vidb.GetImage(vehicleid, newFileNumber);
                vidb.RemoveImage(vehicleid, oldFileNumber);
                vidb.RemoveImage(vehicleid, newFileNumber);

                oldImage.FileNumber = newFileNumber;
                vidb.AddImage(oldImage);

                if (newImage != null)
                {
                    newImage.FileNumber = oldFileNumber;
                    vidb.AddImage(newImage);
                }
            }

            string filePathMoving   = Path.Combine(imagePath, "image_" + oldFileNumber + ".jpg");
            string thumbPathMoving  = Path.Combine(imagePath, "thumb_" + oldFileNumber + ".jpg");
            string filePathMovedTo  = Path.Combine(imagePath, "image_" + newFileNumber + ".jpg");
            string thumbPathMovedTo = Path.Combine(imagePath, "thumb_" + newFileNumber + ".jpg");

            try
            {
                if (File.Exists(filePathMoving))
                {
                    File.Move(filePathMoving, filePathMovedTo.Replace("image_", "movedimage_"));
                    if (File.Exists(thumbPathMoving))
                    {
                        File.Move(thumbPathMoving, thumbPathMovedTo.Replace("thumb_", "movedthumb_"));
                    }
                }

                if (File.Exists(filePathMovedTo))
                {
                    File.Move(filePathMovedTo, filePathMoving.Replace("image_", "movedimage_"));
                    if (File.Exists(thumbPathMovedTo))
                    {
                        File.Move(thumbPathMovedTo, thumbPathMoving.Replace("thumb_", "movedthumb_"));
                    }
                }

                if (File.Exists(filePathMoving.Replace("image_", "movedimage_")))
                {
                    File.Move(filePathMoving.Replace("image_", "movedimage_"), filePathMoving.Replace("moveimage_", "image_"));
                    if (File.Exists(thumbPathMoving.Replace("thumb_", "movedthumb_")))
                    {
                        File.Move(thumbPathMoving.Replace("thumb_", "movedthumb_"), thumbPathMoving.Replace("movedthumb_", "thumb_"));
                    }
                }

                if (File.Exists(filePathMovedTo.Replace("image_", "movedimage_")))
                {
                    File.Move(filePathMovedTo.Replace("image_", "movedimage_"), filePathMovedTo.Replace("moveimage_", "image_"));
                    if (File.Exists(thumbPathMovedTo.Replace("thumb_", "movedthumb_")))
                    {
                        File.Move(thumbPathMovedTo.Replace("thumb_", "movedthumb_"), thumbPathMovedTo.Replace("movedthumb_", "thumb_"));
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("error moving images: " + ex.ToString());
            }

            LoadImagesFromDatabase();
            DisplayThumbnail(oldFileNumber);
            DisplayThumbnail(newFileNumber);
        }