Esempio n. 1
0
        public static async Task <File> Upload(HttpPostedFileBase file, FileGroups fileGroup, Controller controller)
        {
            try
            {
                using (ApplicationDbContext db = new ApplicationDbContext())
                {
                    var guid        = Guid.NewGuid();
                    var fileExt     = System.IO.Path.GetExtension(file.FileName);
                    var newFileName = guid.ToString();

                    var newFile = new File
                    {
                        Id           = newFileName,
                        Extension    = fileExt,
                        Size         = file.ContentLength,
                        CreateUserId = controller.User.Identity.GetUserId(),
                        CreateTime   = DateTime.Now,
                    };
                    var destinationFolder = "";

                    var categoryG = await db.Categories.FindAsync((int)fileGroup);

                    newFile.Categories.Add(categoryG);

                    if (fileExt == ".png" || fileExt == ".jpg" || fileExt == ".gif" || fileExt == ".svg")
                    {
                        var categoryT = await db.Categories.FindAsync((int)FileTypes.Image);

                        newFile.Categories.Add(categoryT);
                        destinationFolder = Properties.Resources.UploadFolder_Image;
                    }

                    db.Files.Add(newFile);
                    await db.SaveChangesAsync();

                    if (!System.IO.Directory.Exists(controller.Server.MapPath("~/" + destinationFolder)))
                    {
                        System.IO.Directory.CreateDirectory(controller.Server.MapPath("~/" + destinationFolder));
                    }
                    var newPath = System.IO.Path.Combine(controller.Server.MapPath("~/" + destinationFolder), newFileName + fileExt);
                    file.SaveAs(newPath);

                    //thumb
                    if (fileExt == ".png" || fileExt == ".jpg" || fileExt == ".gif")
                    {
                        using (Image img = Image.FromFile(newPath))
                        {
                            var thumb = img.CreateThumbnail(new Size(256, Convert.ToInt32((img.Height / (img.Width / 256)))));
                            thumb.Save(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(newPath), "thumb", System.IO.Path.GetFileName(newPath)));
                        }
                    }

                    return(newFile);
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
Esempio n. 2
0
        /*public List<ISchemaBase> FindAllByColumn(String ColumnName)
         * {
         *  this.t
         * }*/

        public override SQLScriptList ToSqlDiff()
        {
            var listDiff = new SQLScriptList();

            listDiff.Add("USE [" + Name + "]\r\nGO\r\n\r\n", 0, Enums.ScripActionType.UseDatabase);
            listDiff.AddRange(Assemblies.ToSqlDiff());
            listDiff.AddRange(Defaults.ToSqlDiff());
            listDiff.AddRange(UserTypes.ToSqlDiff());
            listDiff.AddRange(TablesTypes.ToSqlDiff());
            listDiff.AddRange(Tables.ToSqlDiff());
            listDiff.AddRange(Rules.ToSqlDiff());
            listDiff.AddRange(Schemas.ToSqlDiff());
            listDiff.AddRange(XmlSchemas.ToSqlDiff());
            listDiff.AddRange(Procedures.ToSqlDiff());
            listDiff.AddRange(CLRProcedures.ToSqlDiff());
            listDiff.AddRange(CLRFunctions.ToSqlDiff());
            listDiff.AddRange(FileGroups.ToSqlDiff());
            listDiff.AddRange(DDLTriggers.ToSqlDiff());
            listDiff.AddRange(Synonyms.ToSqlDiff());
            listDiff.AddRange(Views.ToSqlDiff());
            listDiff.AddRange(Users.ToSqlDiff());
            listDiff.AddRange(Functions.ToSqlDiff());
            listDiff.AddRange(Roles.ToSqlDiff());
            listDiff.AddRange(PartitionFunctions.ToSqlDiff());
            listDiff.AddRange(PartitionSchemes.ToSqlDiff());
            listDiff.AddRange(FullText.ToSqlDiff());
            return(listDiff);
        }
Esempio n. 3
0
        private IEnumerable <ResourceDataGroupBase> GetData(VSProject project, IEnumerable <CultureInfo> cultures)
        {
            var data = new List <ResourceDataGroupBase>();
            IList <ResourceDataGroupBase> uncompletedDataGroups = null;

            if (ExportDiff)
            {
                uncompletedDataGroups = project.GetUncompleteDataGroups(cultures);
            }

            IEnumerable <IResourceFileGroup> resxGroups = project.ResxGroups.Values;

            if (FileGroups != null && FileGroups.Count() > 0)
            {
                resxGroups = project.ResxGroups.Values.Intersect(FileGroups);
            }

            foreach (IResourceFileGroup group in resxGroups)
            {
                IEnumerable <ResourceDataGroupBase> groupDataValues = group.AllData.Values
                                                                      .Where(resxGroup => uncompletedDataGroups == null || uncompletedDataGroups.Contains(resxGroup));

                if (IgnoreInternalResources)
                {
                    groupDataValues = groupDataValues.Where(resxGroup => !resxGroup.Name.StartsWith(">>"));
                }

                data.AddRange(groupDataValues);
            }

            return(data);
        }
Esempio n. 4
0
        public override async void Activate(object parameter, NavigationMode navigationMode)
        {
            base.Activate(parameter, navigationMode);
            await _fileService.IsInitialized.Task;

            ShouldShowPlaceholder = FileGroups.Any(x => x.Files.Any()) ? Visibility.Collapsed : Visibility.Visible;
        }
Esempio n. 5
0
        public override SQLScriptList ToSqlDiff(ICollection <ISchemaBase> schemas)
        {
            var isAzure10 = this.Info.Version == DatabaseInfo.SQLServerVersion.SQLServerAzure10;

            var listDiff = new SQLScriptList();

            var header = $@"/*

    OpenDBDiff {System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()}
    https://github.com/OpenDBDiff/OpenDBDiff

    Script created by {Environment.UserDomainName}\{Environment.UserName} on {DateTime.Now.ToShortDateString()} at {DateTime.Now.ToLongTimeString()}.

    Created on:  {Environment.MachineName}
    Source:      {SourceInfo?.Database ?? "Unknown"} on {SourceInfo?.Server ?? "Unknown"}
    Destination: {Info?.Database ?? "Unknown"} on {Info?.Server ?? "Unknown"}

    ### This script performs actions to change the Destination schema to the Source schema. ###

*/

";

            listDiff.Add(new SQLScript(header, 0, ScriptAction.None));

            if (!isAzure10)
            {
                listDiff.Add("USE [" + Name + "]\r\nGO\r\n\r\n", 0, ScriptAction.UseDatabase);
                listDiff.AddRange(Assemblies.ToSqlDiff(schemas));
                listDiff.AddRange(UserTypes.ToSqlDiff(schemas));
            }
            listDiff.AddRange(TablesTypes.ToSqlDiff(schemas));
            listDiff.AddRange(Tables.ToSqlDiff(schemas));
            listDiff.AddRange(Rules.ToSqlDiff(schemas));
            listDiff.AddRange(Schemas.ToSqlDiff(schemas));
            listDiff.AddRange(XmlSchemas.ToSqlDiff(schemas));
            listDiff.AddRange(Procedures.ToSqlDiff(schemas));
            if (!isAzure10)
            {
                listDiff.AddRange(CLRProcedures.ToSqlDiff(schemas));
                listDiff.AddRange(CLRFunctions.ToSqlDiff(schemas));
                listDiff.AddRange(FileGroups.ToSqlDiff(schemas));
            }
            listDiff.AddRange(DDLTriggers.ToSqlDiff(schemas));
            listDiff.AddRange(Synonyms.ToSqlDiff(schemas));
            listDiff.AddRange(Views.ToSqlDiff(schemas));
            listDiff.AddRange(Users.ToSqlDiff(schemas));
            listDiff.AddRange(Functions.ToSqlDiff(schemas));
            listDiff.AddRange(Roles.ToSqlDiff(schemas));
            listDiff.AddRange(PartitionFunctions.ToSqlDiff(schemas));
            listDiff.AddRange(PartitionSchemes.ToSqlDiff(schemas));
            if (!isAzure10)
            {
                listDiff.AddRange(FullText.ToSqlDiff(schemas));
            }
            return(listDiff);
        }
Esempio n. 6
0
        public override string ToSqlAdd()
        {
            string sql = "CREATE PARTITION SCHEME " + FullName + "\r\n";

            sql += " AS PARTITION " + PartitionFunction + "\r\n";
            sql += "TO (";
            FileGroups.ForEach(item => sql += "[" + item + "],");
            sql  = sql.Substring(0, sql.Length - 1);
            sql += ")\r\nGO\r\n";
            return(sql);
        }
Esempio n. 7
0
        public static async Task <bool> Upload(CreateFileViewModel model, FileGroups fileGroup, Controller controller)
        {
            try
            {
                using (ApplicationDbContext db = new ApplicationDbContext())
                {
                    var guid        = Guid.NewGuid();
                    var fileExt     = System.IO.Path.GetExtension(model.File.FileName);
                    var newFileName = guid.ToString();

                    var newFile = new File
                    {
                        Id           = newFileName,
                        Name         = model.Name,
                        Description  = model.Description,
                        Extension    = fileExt,
                        Size         = model.File.ContentLength,
                        CreateUserId = controller.User.Identity.GetUserId(),
                        CreateTime   = DateTime.Now,
                    };
                    var destinationFolder = "";

                    var categoryG = await db.Categories.FindAsync((int)fileGroup);

                    newFile.Categories.Add(categoryG);

                    if (fileExt == ".png" || fileExt == ".jpg")
                    {
                        var categoryT = await db.Categories.FindAsync((int)FileTypes.Image);

                        newFile.Categories.Add(categoryT);
                        destinationFolder = Properties.Resources.UploadFolder_Image;
                    }
                    else
                    {
                        var categoryT = await db.Categories.FindAsync((int)FileTypes.Other);

                        newFile.Categories.Add(categoryT);
                        destinationFolder = Properties.Resources.UploadFolder_Other;
                    }

                    db.Files.Add(newFile);
                    await db.SaveChangesAsync();

                    var newPath = System.IO.Path.Combine(controller.Server.MapPath("~/" + destinationFolder), newFileName + fileExt);
                    model.File.SaveAs(newPath);
                    return(true);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Esempio n. 8
0
        private async void DeleteFile(BindableStorageFile item)
        {
            FileService.FileLocation location = _fileService.GetFileLocation(item);
            await _fileService.DeleteFileAsync((StorageFile)item.BackingFile, location);

            if (item == ActiveFile)
            {
                ActiveFile = null;
            }

            ShouldShowPlaceholder = FileGroups.Any(x => x.Files.Any()) ? Visibility.Collapsed : Visibility.Visible;
        }
Esempio n. 9
0
        private async Task <dynamic> upload(HttpPostedFileBase file, FileGroups fileGroup, string imagesFolderPath)
        {
            var newFile = await Uploader.Upload(file, fileGroup, this);

            var result = new
            {
                oldFileName = file.FileName,
                newFileName = newFile.Id,
                ext         = newFile.Extension,
                link        = imagesFolderPath + newFile.Id + newFile.Extension,
            };

            return(result);
        }
Esempio n. 10
0
        public MainViewModel(IFileService fileService, INavigationServiceEx navService) : base(navService)
        {
            _fileService = fileService;

            _narrowNumberScope.Names.Add(new InputScopeName(InputScopeNameValue.Number));
            _narrowDefaultScope.Names.Add(new InputScopeName(InputScopeNameValue.Default));
            _wideNumberScope.Names.Add(new InputScopeName(InputScopeNameValue.Number));
            _wideDefaultScope.Names.Add(new InputScopeName(InputScopeNameValue.Default));

            CurrentNarrowInputScope = _narrowNumberScope;
            CurrentWideInputScope   = _wideNumberScope;

            FileGroups.Add(new FileCollection(Constants.ROAMED_FILES_TITLE, _fileService.RoamedFiles, FileService.FileLocation.Roamed));
            FileGroups.Add(new FileCollection(Constants.LOCAL_FILES_TITLE, _fileService.LocalFiles, FileService.FileLocation.Local));
        }
Esempio n. 11
0
        public RISEmulator()
        {
            //
            // Stored files options.
            //
            fileGroups = new FileGroups("RIS Emulator");

            validationResultsFileGroup = new ValidationResultsFileGroup();
            this.validationResultsFileGroup.DefaultFolder = "Results";
            this.fileGroups.Add(validationResultsFileGroup);

            this.fileGroups.CreateDirectories();

            Initialize();

            // Save the config so next time no attempt will be made to again try to load the same settings
            // wlConfig.Serialize();

            dataDirectory = Directory.GetCurrentDirectory();

            modeOfRsp = true;
        }
Esempio n. 12
0
        public override string ToSql()
        {
            string sql = "";

            sql += FileGroups.ToSql();
            sql += Schemas.ToSql();
            sql += XmlSchemas.ToSql();
            sql += Rules.ToSql();
            sql += UserTypes.ToSql();
            sql += Assemblies.ToSql();
            sql += Tables.ToSql();
            sql += Functions.ToSql();
            sql += Procedures.ToSql();
            sql += CLRProcedures.ToSql();
            sql += CLRFunctions.ToSql();
            sql += DDLTriggers.ToSql();
            sql += Synonyms.ToSql();
            sql += Views.ToSql();
            sql += Users.ToSql();
            sql += PartitionFunctions.ToSql();
            sql += FullText.ToSql();
            return(sql);
        }
Esempio n. 13
0
        private async Task OpenFile(StorageFile file)
        {
            bool isValid = await _fileService.ValidateFileAsync(file);

            if (!isValid)
            {
                MessageDialog dialog = new MessageDialog("The file you tried to open was not formatted correctly. Are you sure it's a two-column comma-delimited file?", "Unable to read file");
                await dialog.ShowAsync();

                return;
            }
            AddFileDialogOutput output = await ShowAddFileDialog(file.Name);

            if (output == null)
            {
                return;
            }
            string contents = await FileIO.ReadTextAsync(file);

            ActiveFile = await _fileService.SaveAndEncryptFileAsync(contents, output.FileName, output.Password);

            ShouldShowPlaceholder = FileGroups.Any(x => x.Files.Any()) ? Visibility.Collapsed : Visibility.Visible;
            _codeDictionary       = await GetCodes(output.Password);
        }
Esempio n. 14
0
        private void InsertForm()
        {
            string new_filenameCH = string.Empty;
            string new_filenameRG = string.Empty;
            string new_filenameGU = string.Empty;

            if (fuChk.PostedFile.ContentLength != 0)
            {
                string original_filename = Path.GetFileName(fuChk.PostedFile.FileName);

                new_filenameCH =
                    Guid.NewGuid().ToString() +
                    Path.GetExtension(original_filename);

                string new_filepath = Server.MapPath("~/Files/checklists/" + new_filenameCH);
                fuChk.PostedFile.SaveAs(new_filepath);
                ViewState["CH"] = new_filenameCH;
            }

            if (fuRg.PostedFile.ContentLength != 0)
            {
                string original_filename = Path.GetFileName(fuRg.PostedFile.FileName);

                new_filenameRG =
                    Guid.NewGuid().ToString() +
                    Path.GetExtension(original_filename);

                string new_filepath = Server.MapPath("~/Files/regular/" + new_filenameRG);
                fuRg.PostedFile.SaveAs(new_filepath);
                ViewState["RG"] = new_filenameRG;
            }

            if (fuGu.PostedFile.ContentLength != 0)
            {
                string original_filename = Path.GetFileName(fuGu.PostedFile.FileName);

                new_filenameGU =
                    Guid.NewGuid().ToString() +
                    Path.GetExtension(original_filename);

                string new_filepath = Server.MapPath("~/Files/guideline/" + new_filenameGU);
                fuGu.PostedFile.SaveAs(new_filepath);
                ViewState["GU"] = new_filenameGU;
            }
            FileGroups fg = new FileGroups()
            {
                FileGroupTitle = txtFileGroupName.Text
            };

            db.FileGroups.AddObject(fg);
            db.SaveChanges();
            Files p = new Files()
            {
                CHName      = new_filenameCH,
                GUName      = new_filenameGU,
                RGName      = new_filenameRG,
                FileGroupID = fg.FileGroupID,
            };

            db.Files.AddObject(p);
            db.SaveChanges();
        }
Esempio n. 15
0
        public override SQLScriptList ToSqlDiff(List <ISchemaBase> schemas)
        {
            var isAzure10 = this.Info.Version == DatabaseInfo.VersionTypeEnum.SQLServerAzure10;

            var listDiff = new SQLScriptList();

            listDiff.Add(new SQLScript(String.Format(@"/*

    数据库差异脚本

    脚本创建于: {1}\{2}   时间: {3} {4}

    创建人:{5}
    参考数据库:{6}   地址:{7}
    目标数据库:{8}   地址:{9}

*/
",
                                                     System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(),
                                                     Environment.UserDomainName,
                                                     Environment.MachineName,
                                                     DateTime.Now.ToShortDateString(),
                                                     DateTime.Now.ToLongTimeString(),
                                                     Environment.UserName,
                                                     SourceInfo != null ? SourceInfo.Database : "Uknown",
                                                     SourceInfo != null ? SourceInfo.Server : "Uknown",
                                                     Info != null ? Info.Database : "Uknown",
                                                     Info != null ? Info.Server : "Uknown",
                                                     0), 0, Enums.ScripActionType.None));
            if (!isAzure10)
            {
                listDiff.Add("USE [" + Name + "]\r\nGO\r\n\r\n", 0, Enums.ScripActionType.UseDatabase);
                listDiff.AddRange(Assemblies.ToSqlDiff(schemas));
                listDiff.AddRange(UserTypes.ToSqlDiff(schemas));
            }
            listDiff.AddRange(TablesTypes.ToSqlDiff(schemas));
            listDiff.AddRange(Tables.ToSqlDiff(schemas));
            listDiff.AddRange(Rules.ToSqlDiff(schemas));
            listDiff.AddRange(Schemas.ToSqlDiff(schemas));
            listDiff.AddRange(XmlSchemas.ToSqlDiff(schemas));
            listDiff.AddRange(Procedures.ToSqlDiff(schemas));
            if (!isAzure10)
            {
                listDiff.AddRange(CLRProcedures.ToSqlDiff(schemas));
                listDiff.AddRange(CLRFunctions.ToSqlDiff(schemas));
                listDiff.AddRange(FileGroups.ToSqlDiff(schemas));
            }
            listDiff.AddRange(DDLTriggers.ToSqlDiff(schemas));
            listDiff.AddRange(Synonyms.ToSqlDiff(schemas));
            listDiff.AddRange(Views.ToSqlDiff(schemas));
            listDiff.AddRange(Users.ToSqlDiff(schemas));
            listDiff.AddRange(Functions.ToSqlDiff(schemas));
            listDiff.AddRange(Roles.ToSqlDiff(schemas));
            listDiff.AddRange(PartitionFunctions.ToSqlDiff(schemas));
            listDiff.AddRange(PartitionSchemes.ToSqlDiff(schemas));
            if (!isAzure10)
            {
                listDiff.AddRange(FullText.ToSqlDiff(schemas));
            }
            return(listDiff);
        }
Esempio n. 16
0
        public override SQLScriptList ToSqlDiff(List <ISchemaBase> schemas)
        {
            var isAzure10 = this.Info.Version == DatabaseInfo.VersionTypeEnum.SQLServerAzure10;

            var listDiff = new SQLScriptList();

            listDiff.Add(new SQLScript(String.Format(@"/*

    Open DBDiff {0}
    http://opendbiff.codeplex.com/

    Script created by {1}\{2} on {3} at {4}.

    Created on:  {5}
    Source:      {6} on {7}
    Destination: {8} on {9}

*/

",
                                                     System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(),
                                                     Environment.UserDomainName,
                                                     Environment.UserName,
                                                     DateTime.Now.ToShortDateString(),
                                                     DateTime.Now.ToLongTimeString(),
                                                     Environment.MachineName,
                                                     SourceInfo != null ? SourceInfo.Database : "Uknown",
                                                     SourceInfo != null ? SourceInfo.Server : "Uknown",
                                                     Info != null ? Info.Database : "Uknown",
                                                     Info != null ? Info.Server : "Uknown",
                                                     0), 0, Enums.ScripActionType.None));
            if (!isAzure10)
            {
                listDiff.Add("USE [" + Name + "]\r\nGO\r\n\r\n", 0, Enums.ScripActionType.UseDatabase);
                listDiff.AddRange(Assemblies.ToSqlDiff(schemas));
                listDiff.AddRange(UserTypes.ToSqlDiff(schemas));
            }
            listDiff.AddRange(TablesTypes.ToSqlDiff(schemas));
            listDiff.AddRange(Tables.ToSqlDiff(schemas));
            listDiff.AddRange(Rules.ToSqlDiff(schemas));
            listDiff.AddRange(Schemas.ToSqlDiff(schemas));
            listDiff.AddRange(XmlSchemas.ToSqlDiff(schemas));
            listDiff.AddRange(Procedures.ToSqlDiff(schemas));
            if (!isAzure10)
            {
                listDiff.AddRange(CLRProcedures.ToSqlDiff(schemas));
                listDiff.AddRange(CLRFunctions.ToSqlDiff(schemas));
                listDiff.AddRange(FileGroups.ToSqlDiff(schemas));
            }
            listDiff.AddRange(DDLTriggers.ToSqlDiff(schemas));
            listDiff.AddRange(Synonyms.ToSqlDiff(schemas));
            listDiff.AddRange(Views.ToSqlDiff(schemas));
            listDiff.AddRange(Users.ToSqlDiff(schemas));
            listDiff.AddRange(Functions.ToSqlDiff(schemas));
            listDiff.AddRange(Roles.ToSqlDiff(schemas));
            listDiff.AddRange(PartitionFunctions.ToSqlDiff(schemas));
            listDiff.AddRange(PartitionSchemes.ToSqlDiff(schemas));
            if (!isAzure10)
            {
                listDiff.AddRange(FullText.ToSqlDiff(schemas));
            }
            return(listDiff);
        }
Esempio n. 17
0
        private async Task <List <dynamic> > uploads(IEnumerable <HttpPostedFileBase> files, FileGroups fileGroup, string imagesFolderPath)
        {
            var result = new List <dynamic>();

            foreach (var file in files)
            {
                var newFile = await Uploader.Upload(file, fileGroup, this);

                if (newFile != null)
                {
                    var resultItem = new
                    {
                        oldFileName = file.FileName,
                        newFileName = newFile.Id,
                        ext         = newFile.Extension,
                        link        = imagesFolderPath + newFile.Id + newFile.Extension
                    };
                    result.Add(resultItem);
                }
            }
            return(result);
        }