Пример #1
0
        public IActionResult AddFile(AddFileViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (repository.AllFiles.Any(x => x.FileName == model.File.FileName))
                {
                    ModelState.AddModelError("", "File with name " + model.File.FileName + " is alredy exist.");
                    return(View(model));
                }

                var directory = Directory.GetFiles(environment.ContentRootPath + @"/wwwroot/FileExtansions");

                var ext = new String(model.File.FileName.TakeLast(model.File.FileName.Length - (model.File.FileName.LastIndexOf('.') == -1 ? model.File.FileName.Length : model.File.FileName.LastIndexOf('.')) - 1).ToArray());
                if (!directory.Any(x => x == ("File" + ext + ".png")))
                {
                    ext = "";
                }
                var File = new AppFile()
                {
                    FileName      = model.File.FileName,
                    FileExtansion = ext
                };
                using (var reader = new BinaryReader(model.File.OpenReadStream()))
                {
                    byte[] data = reader.ReadBytes((int)model.File.Length);
                    File.FileSize = String.Format(new FileSizeFormatProvider(), "{0:fs}", data.LongLength);
                    File.Value    = data;
                }

                repository.AddFile(File);
                return(LocalRedirect(model.ReturnUrl));
            }
            return(View(model));
        }
Пример #2
0
            public Error CheckExtensionType(AddFileViewModel model)
            {
                bool   accept         = false;
                Error  error          = null;
                string extensionsText = String.Join(" ", model.FileDetails.ExtensionList);
                string extension      = Path.GetExtension(model.FileToSave.FileName);

                foreach (var extensionToCheck in model.FileDetails.ExtensionList)
                {
                    if (model.FileToSave != null)
                    {
                        if (extension == extensionToCheck)
                        {
                            accept = true;
                            break;
                        }
                    }
                }


                if (accept == false)
                {
                    //ModelState.AddModelError("FileToSave", $"Plik typu {extension} nie jest akceptowany wprowadź plik typu {extensionsText}");
                    error = new Error("FileToSave", $"Plik typu {extension} nie jest akceptowany wprowadź plik typu {extensionsText}");
                }

                return(error);
            }
Пример #3
0
        public ActionResult Add(int Id)
        {
            var userId = User.Identity.GetUserId();

            var ticket = DbContext.Tickets.FirstOrDefault(t => t.ID == Id);

            if ((User.IsInRole("Admin") || User.IsInRole("Project Manager")) ||
                (User.IsInRole("Developer") && userId == ticket.AssignedToUserID) ||
                (User.IsInRole("Submitter") && userId == ticket.OwnerUserID))
            {
                // Continue
            }
            else
            {
                return(RedirectToAction("FullTicketBySlug", "Ticket", new { slug = ticket.Slug }));
            }


            var model = new AddFileViewModel
            {
                TicketID = Id
            };

            return(View(model));
        }
Пример #4
0
 private async void Button_Click(object sender, RoutedEventArgs e)
 {
     var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
     openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
     openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
     // Users expect to have a filtered view of their folders depending on the scenario.
     // For example, when choosing a documents folder, restrict the filetypes to documents for your application.
     openPicker.FileTypeFilter.Add(".phy");// ([".png", ".jpg", ".jpeg"]);
     StorageFile file = await openPicker.PickSingleFileAsync();
     if (file != null)
     {
         AddFileViewModel model = new AddFileViewModel(file);
         this.ViewModel = model;
         this.DataContext = model;
         this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
             new Windows.UI.Core.DispatchedHandler(
             delegate()
             {
                 model.InitLoadHeader();
             }));
     }
     else
     {
         this.ViewModel = null;
         this.DataContext = null;
     }
 }
Пример #5
0
        public IActionResult Index()
        {
            AddFileViewModel model = new AddFileViewModel();

            model.Categories = _context.Categories.ToList();
            model.Files      = _context.CustomFiles.ToList();
            return(View(model));
        }
        public ActionResult AddFile(int Id, string ObjectType, FileType filetype)
        {
            AddFileViewModel model = new AddFileViewModel();

            model.ObjectId    = Id;
            model.ObjectType  = ObjectType;
            model.FileDetails = new FileTypeDetails(filetype);
            return(View(model));
        }
Пример #7
0
        public IActionResult AddFile(string returnUrl)
        {
            var model = new AddFileViewModel()
            {
                ReturnUrl = returnUrl
            };

            return(View(model));
        }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");
            IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
            if (files != null && files.Count() > 0)
            {
                this.m_addFileModels.Clear();

                bool allCorrect = true;

                foreach (var file in files)
                {
                    var aircraftModel = AircraftDataAnalysisWinRT.ApplicationContext.Instance.CurrentAircraftModel;
                    var flightParameter = AircraftDataAnalysisWinRT.ApplicationContext.Instance.GetFlightParameters(
                        ApplicationContext.Instance.CurrentAircraftModel);
                    FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;
                    FlightDataEntitiesRT.Flight currentFlight = null;

                    bool correct = CreateTempCurrentFlight(file, aircraftModel, flightParameter, ref extractor, ref currentFlight);

                    AddFileViewModel model = new AddFileViewModel(currentFlight, file, extractor,
                        aircraftModel, flightParameter);
                    model.IsTempFlightParseError = !correct;
                    allCorrect = allCorrect & correct;

                    model.InitLoadHeader();
                    if (model.Header != null)
                    {
                        currentFlight.EndSecond = model.Header.FlightSeconds;
                        if (model.Header.Latitudes != null && model.Header.Longitudes != null)
                            currentFlight.GlobeDatas = AddFileViewModel.ToGlobeDatasStatic(model.Header.Latitudes, model.Header.Longitudes);
                    }
                    this.m_addFileModels.Add(model);
                }

                if (allCorrect == false)
                    this.tbMessage1.Visibility = Windows.UI.Xaml.Visibility.Visible;

                rgdItems.ItemsSource = this.m_addFileModels;
            }
            else
            {
                this.Frame.GoBack();
            }
        }
Пример #9
0
        public async Task <ActionResult> AddFile(AddFileViewModel model)
        {
            var roomFile = new RoomFile();

            roomFile.Name        = model.FileUpload.FileName;
            roomFile.ContentType = model.FileUpload.ContentType;
            roomFile.RoomID      = model.RoomID;

            using (var reader = new BinaryReader(model.FileUpload.InputStream))
            {
                roomFile.Content = reader.ReadBytes(model.FileUpload.ContentLength);
            }

            db.RoomFiles.Add(roomFile);
            await db.SaveChangesAsync();

            return(RedirectToAction("Edit", new { id = model.RoomID }));
        }
Пример #10
0
 public ActionResult AddF(int?gro, AddFileViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (db.Files.Where(fg => fg.Name == model.Name).SingleOrDefault() != null)
         {
             ModelState.AddModelError("Error", @"This name is already occupied please think of another one");
             return(View("AddFile", model));
         }
         var             file = new File();
         var             uid  = User.Identity.GetUserId();
         ApplicationUser auth = db.Users.Where(u => u.Id.Equals(uid)).Single();
         if (!db.Files.Any())
         {
             file.Fid = 1;
         }
         else
         {
             file.Fid = db.Files.Max(f => f.Fid) + 1;
         }
         file.Author = auth;
         Group gr = db.Groups.Where(g => g.GId == gro).Single();
         file.Group   = gr;
         file.Name    = model.Name;
         file.Link    = model.Link;
         file.Created = DateTime.Now;
         if (gr.Files == null)
         {
             gr.Files = new List <File>();
         }
         gr.Files.Add(file);
         if (auth.Files == null)
         {
             auth.Files = new List <File>();
         }
         auth.Files.Add(file);
         db.Files.Add(file);
         db.Entry(gr).State   = EntityState.Modified;
         db.Entry(auth).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Files", "File"));
     }
     return(View(model));
 }
Пример #11
0
        public IActionResult Add(AddFileViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    bool isSucced = true;
                    foreach (var item in model.Files)
                    {
                        var dtoPhoto = new FileManager().Save(item);

                        var result = _commandDispatcher.Dispatch(new AddFileCommand()
                        {
                            FileName = dtoPhoto.FileName,
                            FileSize = dtoPhoto.FileSize,
                            FileType = dtoPhoto.FileType,
                            FileUrl  = dtoPhoto.FileUrl,
                        });

                        if (!string.IsNullOrEmpty(result.Message))
                        {
                            ModelState.AddModelError("", result.Message);
                        }
                        foreach (var err in result.Errors)
                        {
                            ModelState.AddModelError("", err);
                        }

                        isSucced = isSucced && result.IsSuccess;
                    }

                    if (isSucced)
                    {
                        return(RedirectToAction(nameof(List)));
                    }
                }
                catch (TypeAccessException ex)
                {
                    ModelState.AddModelError("", ex.Message);
                }
            }
            return(View());
        }
Пример #12
0
            public async Task <bool> AddFileToServer(AddFileViewModel model)
            {
                try
                {
                    var uniqueFileName = GetUniqueFileName(model.FileToSave.FileName, model.ObjectId);
                    var uploads        = Path.Combine(hostingEnvironment.WebRootPath, model.FileDetails.DirectoryToSave);
                    var filePath       = Path.Combine(uploads, uniqueFileName);


                    await model.FileToSave.CopyToAsync(new FileStream(filePath, FileMode.Create));


                    return(fileobject.SavePath(model.ObjectId, uniqueFileName, model.FileDetails));
                }
                catch (Exception ex)
                {
                    return(false);
                }
            }
        public async Task <ActionResult> AddFile(AddFileViewModel model)
        {
            Error error;

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            bool check = false;
            IFileObjectFactory objectFactory = GetFileObject(model.ObjectType);

            fileAdder.fileobject = objectFactory.BuildObject();

            error = fileAdder.CheckExtensionType(model);

            if (error != null)
            {
                ModelState.AddModelError(error.Key, error.Message);
            }

            if (ModelState.IsValid)
            {
                check = await fileAdder.AddFileToServer(model);

                //to do : Save uniqueFileName  to your db table
            }
            else
            {
                return(View("AddFile", model));
            }


            if (check)
            {
                return(RedirectToAction(model.FileDetails.MethodName, new { ObjectType = model.ObjectType, Id = model.ObjectId }));
            }
            else
            {
                return(View("Error", "Nie dodano pliku"));
            }
        }
Пример #14
0
        public ActionResult Add(AddFileViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.file != null)
            {
                if (model.file.ContentType != "application/vnd.ms-excel")
                {
                    TempData["Erors"] = "Неправильное расширение файла, загрузите файл с расширением xls";
                    return(View());
                }
                else
                {
                    try
                    {
                        var fileName = this.HttpContext.Request.MapPath("~/Content/shedule.xls");
                        model.file.SaveAs(fileName);

                        IEnumerable <busStop> answer = SheduleCreator.Create(fileName);
                        repository.DeleteAll();
                        repository.AddStops(answer);
                        TempData["Success"] = "Расписание добавлено";
                    }
                    catch
                    {
                        TempData["Erors"] = "Ошибка при обработке файла, проверьте правильность файла";
                    }
                    return(View());
                }
            }
            else
            {
                TempData["Erors"] = "Выберите файл";
                return(View());
            }
        }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");
            IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
            if (files != null && files.Count() > 0)
            {
                this.m_addFileModels.Clear();

                foreach (var file in files)
                {
                    var aircraftModel = AircraftDataAnalysisWinRT.ApplicationContext.Instance.CurrentAircraftModel;
                    var flightParameter = AircraftDataAnalysisWinRT.ApplicationContext.Instance.GetFlightParameters(
                        ApplicationContext.Instance.CurrentAircraftModel);
                    FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;
                    FlightDataEntitiesRT.Flight currentFlight = null;

                    CreateTempCurrentFlight(file, aircraftModel, flightParameter, ref extractor, ref currentFlight);

                    AddFileViewModel model = new AddFileViewModel(currentFlight, file, extractor,
                        aircraftModel, flightParameter);
                    model.InitLoadHeader();
                    this.m_addFileModels.Add(model);
                }

                rgdItems.ItemsSource = this.m_addFileModels;
            }
            else
            {
                this.Frame.GoBack();
            }
        }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            // Create the picker object and set options
            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            // Users expect to have a filtered view of their folders depending on the scenario.
            // For example, when choosing a documents folder, restrict the filetypes to documents for your application.
            openPicker.FileTypeFilter.Add(".phy");// ([".png", ".jpg", ".jpeg"]);
            StorageFile file = await openPicker.PickSingleFileAsync();
            if (file != null)
            {
                AddFileViewModel model = new AddFileViewModel(file);
                this.ViewModel = model;
                this.DataContext = model;
            }
            else
            {
                this.ViewModel = null;
                this.DataContext = null;
            }
        }
Пример #17
0
        public ActionResult Add(AddFileViewModel formData)
        {
            var userId = User.Identity.GetUserId();

            var ticket = DbContext.Tickets.FirstOrDefault(t => t.ID == formData.TicketID);

            if ((User.IsInRole("Admin") || User.IsInRole("Project Manager")) ||
                (User.IsInRole("Developer") && userId == ticket.AssignedToUserID) ||
                (User.IsInRole("Submitter") && userId == ticket.OwnerUserID))
            {
                // Continue
            }
            else
            {
                return(RedirectToAction("FullTicketBySlug", "Ticket", new { slug = ticket.Slug }));
            }

            if (formData.File != null)
            {
                if (!Directory.Exists(Constants.MappedUploadFolder))
                {
                    Directory.CreateDirectory(Constants.MappedUploadFolder);
                }

                var fileName         = formData.File.FileName;
                var fullPathWithName = Constants.MappedUploadFolder + fileName;

                formData.File.SaveAs(fullPathWithName);

                var attachment = new TicketAttachment
                {
                    TicketID    = formData.TicketID,
                    FilePath    = fullPathWithName,
                    Description = formData.Description,
                    Created     = DateTime.Now,
                    UserID      = userId,
                    FileUrl     = Constants.UploadFolder + fileName,
                };

                DbContext.TicketAttachments.Add(attachment);
            }

            var notifyUsers = DbContext.TicketNotifications.Where(u => u.TicketID == ticket.ID).ToList();

            foreach (var notifyuser in notifyUsers)
            {
                var    user  = DbContext.Users.FirstOrDefault(u => u.Id == notifyuser.UserID);
                string alert = $"new attachment on a ticket you are watching: {ticket.Title}";
                if (user == ticket.AssignedToUser)
                {
                    alert = $"new attachment on a ticket assigned to you: {ticket.Title}";
                }
                var message = new IdentityMessage
                {
                    Destination = $"{user.Email}",
                    Subject     = $"{alert}",
                    Body        = $"{alert}"
                };
                var emailService = new EmailService();
                emailService.SendAsync(message);
            }

            DbContext.SaveChanges();
            return(RedirectToAction("FullTicketBySlug", "Ticket", new { slug = ticket.Slug }));
        }
Пример #18
0
        private async void btImport_Click(object sender, RoutedEventArgs e)
        {
            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");
            StorageFile file = await openPicker.PickSingleFileAsync();
            if (file != null)
            {
                //20131029 liangdawen:
                var aircraftModel = AircraftDataAnalysisWinRT.ApplicationContext.Instance.CurrentAircraftModel;
                var flightParameter = AircraftDataAnalysisWinRT.ApplicationContext.Instance.GetFlightParameters(
                    ApplicationContext.Instance.CurrentAircraftModel);
                FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;
                FlightDataEntitiesRT.Flight currentFlight = null;

                bool correct = CreateTempCurrentFlight(file, aircraftModel, flightParameter, ref extractor, ref currentFlight);

                AddFileViewModel model = new AddFileViewModel(currentFlight, file, extractor,
                    aircraftModel, flightParameter);
                model.IsTempFlightParseError = !correct;

                this.Frame.Navigate(typeof(AircraftDataAnalysisWinRT.Domain.ImportLoadConfirmPage), model);
                //20131029 liangdawen
                //this.SetLoading(true);
                //await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
                //     new Windows.UI.Core.DispatchedHandler(
                //     delegate()
                //     {
                //         var t = System.Threading.Tasks.Task.Delay(5000);
                //         t.Wait();
                //         //debug: 模拟需要时间
                //         model.InitLoadHeader();
                //     }));

                //this.SetLoading(false);
                //ImportAircraftConfirm confirm = new ImportAircraftConfirm();
                //confirm.Show(dialogArea, model);
            }
            else
            {
                //this.ViewModel = null;
                //this.DataContext = null;
            }
        }
Пример #19
0
 public AddFile(ObservableCollection <File> files,
                File file = null)
 {
     InitializeComponent();
     DataContext = new AddFileViewModel(this, files, file);
 }
        private void DoImportCore(AddFileViewModel model)
        {
            try
            {
                var parameters = ApplicationContext.Instance.GetFlightParameters(
                    ApplicationContext.Instance.CurrentAircraftModel);

                var extractor = FlightDataReading.AircraftModel1.FlightRawDataExtractorFactory
                    .CreateFlightRawDataExtractor(model.File, parameters);

                IDataReading reading = new DataReading(extractor, model.Flight,
                    parameters);

                reading.Header = model.Header;
                reading.ReadData();
            }
            catch (Exception ex)
            {
                //SERVER log?
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }
Пример #21
0
 public AddFileWindow(List <string> keyIdentifiers, Action <string /* Filename */, byte[] /* byte Array */, bool /* is secret */, string /* Key identifier */> addFile)
 {
     InitializeComponent();
     DataContext = new AddFileViewModel(keyIdentifiers, AddClose, CancelClose, addFile);
 }
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");// ([".png", ".jpg", ".jpeg"]);
            StorageFile file = await openPicker.PickSingleFileAsync();
            if (file != null)
            {
                var aircraftModel = ServerHelper.GetCurrentAircraftModel();
                var flightParameter = ServerHelper.GetFlightParameters(aircraftModel);
                FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;

                if (aircraftModel != null && !string.IsNullOrEmpty(aircraftModel.ModelName))
                {
                    if (aircraftModel.ModelName == "F4D")
                    {
                        var result = FlightDataReading.AircraftModel1.FlightRawDataExtractorFactory
                            .CreateFlightRawDataExtractor(file, flightParameter);
                        extractor = result;
                    }
                }
                this.CurrentFlight = new FlightDataEntitiesRT.Flight()
                {
                    Aircraft = new FlightDataEntitiesRT.AircraftInstance()
                    {
                        AircraftModel = aircraftModel,
                        AircraftNumber = "1234", //debug
                        LastUsed = DateTime.Now
                    },
                    StartSecond = 0,
                    FlightName = file.Name,
                    FlightID = this.RemoveIllegalChars(file.DisplayName)
                };

                AddFileViewModel model = new AddFileViewModel(this.CurrentFlight,
                    file, extractor, aircraftModel, flightParameter);
                model.InitLoadHeader();
                this.ViewModel = model;
                if (this.ViewModel != null && this.ViewModel.Header != null)
                {
                    //this.CurrentFlight = new FlightDataEntitiesRT.Flight()
                    //{
                    //    Aircraft = new FlightDataEntitiesRT.AircraftInstance()
                    //    {
                    //        AircraftModel =
                    //            ServerHelper.GetCurrentAircraftModel(),
                    //        AircraftNumber = "1234", //debug
                    //        LastUsed = DateTime.Now
                    //    },
                    //    EndSecond = model.Header.FlightSeconds,
                    //    StartSecond = 0,
                    //    FlightName = file.Name,
                    //    FlightID = this.RemoveIllegalChars(file.DisplayName)
                    //};
                }
                else { this.CurrentFlight = null; }
                this.flightHost.DataContext = this.CurrentFlight;
            }
            else
            {
                this.ViewModel = null;
                this.DataContext = null;
            }

            this.tbMessage.Text = "Command completed " + DateTime.Now.ToString();
        }