protected void SaveRecord(bool newRecord)
        {
            // new record / exiting record //

            var medias = db.Medias;

            if (newRecord)
            {
                CurrentMedia           = new CRM.Code.Models.Media();
                CurrentMedia.Reference = Reference;
                CurrentMedia.OrderNo   = Ordering.GetNextOrderID(medias);

                db.Medias.InsertOnSubmit(CurrentMedia);
            }

            // common //

            CurrentMedia.Name        = txtName.Text;
            CurrentMedia.IsActive    = chkIsActive.Checked;
            CurrentMedia.Description = txtShortDescription.Text;


            db.SubmitChanges();

            if (imgUpload.HasNewImage)
            {
                CRM.Code.Utils.Files.Files.CheckDirectory(Code.Models.Media.folderPath);

                imgUpload.SaveProcessedImageToFileSystem(MapPath(CurrentMedia.ImageURL));
                new FixedCropConstraint(CRM.Code.Models.Media.DefaultDimensions[0], CRM.Code.Models.Media.DefaultDimensions[1]).SaveProcessedImageToFileSystem(CurrentMedia.ImageURL, CurrentMedia.ImageOriginalURL);

                ScaledResizeConstraint resizeFilter = new ScaledResizeConstraint(1024, 768);
                resizeFilter.SaveProcessedImageToFileSystem(CurrentMedia.ImageOriginalURL, CurrentMedia.ImageOriginalURL);

                try
                {
                    File.Copy(imgUpload.TemporarySourceImageFilePath, MapPath(CurrentMedia.ImageOriginalURL), true);
                }
                catch
                {
                    imgUpload.SaveProcessedImageToFileSystem(MapPath(CurrentMedia.ImageOriginalURL));
                }

                new FreeCropConstraint(GfxUnit.Pixel, null, 800, null, null).SaveProcessedImageToFileSystem(CurrentMedia.ImageOriginalURL, CurrentMedia.ImageOriginalURL);

                new FixedCropConstraint(CRM.Code.Models.Media.Thumbs[0], CRM.Code.Models.Media.Thumbs[1]).SaveProcessedImageToFileSystem(CurrentMedia.ImageURL, CurrentMedia.ImageThumbURL);

                imgUpload.ClearTemporaryFiles();
            }
        }