//#################################################################################################
        public IActionResult CreateNewView(Models.UploadModel model, int save)
        {
            if (save == 1)
            {
                return(SaveView());
            }

            List <Tuple <int, string[]> > tuples = new List <Tuple <int, string[]> >();

            for (int i = 0; i < Program.uploadModel.ArrayList.Count; i++)
            {
                for (int j = 0; j < model.IntegerList[i].Count; j++)
                {
                    if (model.IntegerList[i][j] != 0)
                    {
                        var t = GetCol(Program.uploadModel.ArrayList[i], j);
                        Program.uploadModel.ArrayList[i][0][j] = Program.uploadModel.FileList[i].content.accession + "_" + Program.uploadModel.ArrayList[i][0][j];
                        tuples.Add(new Tuple <int, string[]>(model.IntegerList[i][j], GetCol(Program.uploadModel.ArrayList[i], j)));
                    }
                }
                Program.uploadModel.Offset[i] = 0;
            }

            string[][] ret = new string[0][];
            int        max = 0;

            tuples.Sort((t1, t2) => t1.Item1.CompareTo(t2.Item1));
            for (int i = 0; i < tuples.Count; i++)
            {
                if (max < tuples[i].Item2.Length)
                {
                    max = tuples[i].Item2.Length;
                }
            }

            ret = new string[max][];
            int[] offsets = new int[max];
            for (int i = 0; i < max; i++)
            {
                string line = "";
                for (int j = 0; j < tuples.Count; j++)
                {
                    line += ";" + (tuples[j].Item2.Length > i ? tuples[j].Item2[i] : null);
                }

                line       = line.Remove(0, 1);
                ret[i]     = line.Split(';');
                offsets[i] = 0;
            }

            Program.uploadModel.Step = 2;
            Program.uploadModel.IntegerList.Clear();
            Program.uploadModel.FileList.Clear();
            Program.uploadModel.FileList.Add(new Classes.File());
            Program.uploadModel.ArrayList.Clear();
            Program.uploadModel.ArrayList.Add(ret);
            Program.uploadModel.Offset.Clear();
            Program.uploadModel.Offset.AddRange(offsets);
            return(Upload());
        }
 //#################################################################################################
 public IActionResult ChangeViewMode(Models.UploadModel model, string Mode)
 {
     if (Program.uploadModel.ViewMode == FlatMode() && Mode == Program.uploadModel.ViewMode)
     {
         Program.uploadModel.ViewMode = RowMode();
     }
     if (Program.uploadModel.ViewMode == RowMode() && Mode == Program.uploadModel.ViewMode)
     {
         Program.uploadModel.ViewMode = FlatMode();
     }
     Program.uploadModel.ExceptionMessage = null;
     return(Upload());
 }
        public static Models.UploadModel LoadSingleData(string sql)
        {
            using (IDbConnection cnn = new SqlConnection(GetConnectionString()))
            {
                var Query = cnn.Query <Models.UploadModel>(sql);

                if (Query == null || !Query.Any())
                {
                    var obj = new Models.UploadModel();
                    obj.Id = -1;

                    return(obj);
                }

                return(Query.First());
            }
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
            XmlDocument log4netConfig = new XmlDocument();

            log4netConfig.Load(File.OpenRead("log4net.config"));
            var repo = log4net.LogManager.CreateRepository(Assembly.GetEntryAssembly(),
                                                           typeof(log4net.Repository.Hierarchy.Hierarchy));

            log4net.Config.XmlConfigurator.Configure(repo, log4netConfig["log4net"]);

            indexModel = new Models.IndexModel();
            indexModel.Init();
            sessionModel = new Models.SessionModel();
            uploadModel  = new Models.UploadModel();

            Guid g = Guid.NewGuid();

            GuidString = Convert.ToBase64String(g.ToByteArray());
            GuidString = GuidString.Replace("=", "").Replace("+", "").Replace("/", "").Replace("\\", "");

            CreateHostBuilder(args).UseConsoleLifetime().Build().Run();
        }
        //#################################################################################################
        public IActionResult UploadFile(Models.UploadModel uploadModel)
        {
            try
            {
                Controllers.LogController.Begin();
                StartZeit = DateTime.Now;

                Program.uploadModel.ExceptionMessage = null;
                Program.uploadModel.Step             = 1;

                Directory.CreateDirectory(tmpPath);
                Directory.CreateDirectory(dataPath);
                Directory.CreateDirectory(csvPath);
                Directory.CreateDirectory(processedPath);

                if (uploadModel.file != null)
                {
                    try
                    {
                        using (var stream = System.IO.File.Create(Path.Combine(dataPath, uploadModel.file.FileName)))
                        {
                            uploadModel.file.CopyTo(stream);
                        }
                    }
                    catch (Exception ex)
                    {
                        LogController.LogError(String.Format(HelperController.GetMessage("UploadController.Err.UploadFile1").txt, ex.ToString()));
                        Program.uploadModel.ExceptionMessage = HelperController.GetMessage("UploadController.Err.UploadFile1").ext;
                        return(Upload());
                    }
                }
                else
                {
                    try
                    {
                        if (uploadModel.fileString.IndexOf("data:") >= 0)
                        {
                            uploadModel.fileString = Regex.Replace(uploadModel.fileString, "data:([^,]+)", String.Empty);
                            uploadModel.fileString = uploadModel.fileString.Remove(0, 1);
                        }
                        System.IO.File.WriteAllBytesAsync(Path.Combine(dataPath, uploadModel.fileName), Convert.FromBase64String(uploadModel.fileString));
                    }
                    catch (Exception ex)
                    {
                        LogController.LogError(String.Format(HelperController.GetMessage("UploadController.Err.UploadFile2").txt, ex.ToString()));
                        Program.uploadModel.ExceptionMessage = HelperController.GetMessage("UploadController.Err.UploadFile2").ext;
                        return(Upload());
                    }
                }

                Program.uploadModel.FileList = new List <Classes.File>();
                FileController.MoveAndExtractFiles(dataPath, csvPath);



                FileController.MoveAndExtractFiles(csvPath, processedPath);
                LogController.End(String.Format("verstrichene Zeit: {0}", DateTime.Now - StartZeit));
                return(Preview(processedPath));
            }
            catch (Exception ex)
            {
                LogController.LogError(String.Format(HelperController.GetMessage("UploadController.Err.Total").txt, ex.ToString()));
                Program.uploadModel.ExceptionMessage = HelperController.GetMessage("UploadController.Err.Total").ext;
                FileController.ClearDirectory(@"C:\temp\tmp_upload_" + Program.GuidString);
                Program.uploadModel.FileList = null;
                return(Upload());
            }
        }