Exemple #1
0
        public ActionResult SelectAFile(int index)
        {
            TaskManager = (TaskManager)Session["TaskManager"];

            //set current stepinfo based on index
            if (TaskManager != null)
            {
                TaskManager.SetCurrent(index);
            }

            //Get Bus infomations
            var model = new SelectFileViewModel();

            if (TaskManager.Bus.ContainsKey(TaskManager.FILENAME))
            {
                model.SelectedFileName = TaskManager.Bus[TaskManager.FILENAME].ToString();
            }


            //get datastuctureType
            model.DataStructureType       = GetDataStructureType();
            model.SupportedFileExtentions = UploadWizardHelper.GetExtentionList(model.DataStructureType, this.Session.GetTenant());

            //Get StepInfo
            model.StepInfo = TaskManager.Current();

            model.serverFileList = GetServerFileList();



            return(PartialView(model));
        }
Exemple #2
0
        private SendBigFilesToServerModel LoadDefaultModel()
        {
            var model = new SendBigFilesToServerModel
            {
                ServerFileList          = GetServerFileList(),
                SupportedFileExtentions = UploadWizardHelper.GetExtentionList(DataStructureType.Unstructured, this.Session.GetTenant()),
                FileSize = this.Session.GetTenant().MaximumUploadSize
            };

            return(model);
        }
Exemple #3
0
        /// <summary>
        /// returns true if Extention in the Bus will supported
        /// </summary>
        /// <param name="taskManager"></param>
        /// <returns></returns>
        private bool IsSupportedExtention(TaskManager taskManager)
        {
            if (taskManager.Bus.ContainsKey(TaskManager.EXTENTION))
            {
                var ext  = taskManager.Bus[TaskManager.EXTENTION].ToString();
                var type = (DataStructureType)taskManager.Bus[TaskManager.DATASTRUCTURE_TYPE];

                if (UploadWizardHelper.GetExtentionList(type, this.Session.GetTenant()).Contains(ext.ToLower()))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #4
0
        public ActionResult SelectAFile(object[] data)
        {
            var model = new SelectFileViewModel();

            TaskManager = (TaskManager)Session["TaskManager"];

            if (data != null)
            {
                TaskManager.AddToBus(data);
            }

            model.StepInfo = TaskManager.Current();

            TaskManager.Current().SetValid(false);

            if (TaskManager != null)
            {
                // is path of FileStream exist
                if (TaskManager.Bus.ContainsKey(TaskManager.FILEPATH))
                {
                    if (IsSupportedExtention(TaskManager))
                    {
                        try
                        {
                            if (GetDataStructureType().Equals(DataStructureType.Structured))
                            {
                                #region structured datastructure
                                //try save FileStream
                                var filePath = TaskManager.Bus[TaskManager.FILEPATH].ToString();
                                //if extention like a makro excel FileStream
                                if (TaskManager.Bus[TaskManager.EXTENTION].ToString().Equals(".xlsm"))
                                {
                                    // open FileStream
                                    var reader = new ExcelReader();
                                    Stream = reader.Open(filePath);
                                    //Session["Stream"] = Stream;

                                    //check is it template

                                    if (reader.IsTemplate(Stream))
                                    {
                                        TaskManager.Current().SetValid(true);
                                        TaskManager.AddToBus(TaskManager.IS_TEMPLATE, "true");
                                    }
                                    else
                                    {
                                        model.ErrorList.Add(new Error(ErrorType.Other, "File is not a Template"));
                                        TaskManager.AddToBus(TaskManager.IS_TEMPLATE, "false");
                                    }

                                    if (!ExcelReader.SUPPORTED_APPLICATIONS.Contains(reader.Application))
                                    {
                                        model.ErrorList.Add(new Error(ErrorType.Other, "The document was created in an application " + reader.Application + " that will currently not support"));
                                    }

                                    Stream.Close();
                                }
                                else
                                {
                                    TaskManager.AddToBus(TaskManager.IS_TEMPLATE, "false");
                                    // excel FileStream
                                    if (TaskManager.Bus[TaskManager.EXTENTION].ToString().Equals(".xls"))
                                    {
                                        // open FileStream
                                        var reader = new ExcelReader();
                                        Stream = reader.Open(filePath);
                                        //Session["Stream"] = Stream;
                                        TaskManager.Current().SetValid(true);

                                        Stream.Close();
                                    }
                                    // text ór csv FileStream
                                    else if (TaskManager.Bus[TaskManager.EXTENTION].ToString().Equals(".csv") || TaskManager.Bus[TaskManager.EXTENTION].ToString().Equals(".txt"))
                                    {
                                        // open FileStream
                                        var reader = new AsciiReader();
                                        Stream = reader.Open(filePath);
                                        //Session["Stream"] = Stream;
                                        TaskManager.Current().SetValid(true);

                                        Stream.Close();
                                    }
                                }
                                #endregion
                            }

                            if (GetDataStructureType().Equals(DataStructureType.Unstructured))
                            {
                                #region unstructured datastructure
                                //try save FileStream
                                var filePath = TaskManager.Bus[TaskManager.FILEPATH].ToString();

                                if (FileHelper.FileExist(filePath))
                                {
                                    TaskManager.Current().SetValid(true);
                                }


                                #endregion
                            }
                        }
                        catch (Exception ex)
                        {
                            model.ErrorList.Add(new Error(ErrorType.Other, "Cannot access FileStream on server."));
                        }
                    }
                    else
                    {
                        model.ErrorList.Add(new Error(ErrorType.Other, "File is not supported."));
                    }
                }
                else
                {
                    model.ErrorList.Add(new Error(ErrorType.Other, "No FileStream selected or submitted."));
                }

                if (TaskManager.Current().IsValid())
                {
                    TaskManager.AddExecutedStep(TaskManager.Current());
                    TaskManager.GoToNext();
                    Session["TaskManager"] = TaskManager;
                    ActionInfo actionInfo = TaskManager.Current().GetActionInfo;
                    return(RedirectToAction(actionInfo.ActionName, actionInfo.ControllerName, new RouteValueDictionary {
                        { "area", actionInfo.AreaName }, { "index", TaskManager.GetCurrentStepInfoIndex() }
                    }));
                }
            }

            model.serverFileList = GetServerFileList();
            //get datastuctureType
            model.DataStructureType       = GetDataStructureType();
            model.SupportedFileExtentions = UploadWizardHelper.GetExtentionList(model.DataStructureType, this.Session.GetTenant());

            return(PartialView(model));
        }