예제 #1
0
        public async Task <IActionResult> CreateApp(string appName, IFormCollection formData)
        {
            var imagePath          = formData.FirstOrDefault(kvp => kvp.Key.Equals("ImagePath")).Value.FirstOrDefault();
            var replicaCountString = formData.FirstOrDefault(kvp => kvp.Key.Equals("ReplicaCount")).Value.FirstOrDefault();

            if (imagePath == null)
            {
                return(BadRequest());
            }

            var replicaCount = 1;

            if (replicaCountString != null)
            {
                replicaCount = Int32.Parse(replicaCountString);
            }

            if (_serviceFabricAppManager.GetApp(appName) != null)
            {
                return(new StatusCodeResult(409));
            }

            await _serviceFabricAppManager.CreateApp(appName, imagePath, replicaCount);

            return(Ok($"{appName} created successfully"));
        }
예제 #2
0
        public ActionResult Create(IFormCollection collection)
        {
            Empresa empresa = null;

            string         cNPJ  = collection.FirstOrDefault(a => a.Key.Equals("cnpj", System.StringComparison.CurrentCultureIgnoreCase)).Value;
            string         nome  = collection.FirstOrDefault(a => a.Key.Equals("nome", System.StringComparison.CurrentCultureIgnoreCase)).Value;
            PorteDaEmpresa porte = Enum.Parse <PorteDaEmpresa>(collection.FirstOrDefault(a => a.Key.Equals("porte", System.StringComparison.CurrentCultureIgnoreCase)).Value);

            try
            {
                empresa = new Empresa(_validatorService, _empresaService, 0, nome, cNPJ, porte);
            }
            catch (RegrasException ex)
            {
                ex.CopiarErrosPara(ModelState);
            }

            if (ModelState.IsValid)
            {
                _empresaService.Add(empresa);
                return(RedirectToAction(nameof(Index)));
            }

            // Observar que para chegar nesta ponto
            // será reexibida a mesma view para que seja possível
            // mostrar os erros do ModelState para o usuário
            return(View(new EmpresaViewModel
            {
                CNPJ = cNPJ,
                Nome = nome,
                Porte = porte
            }));
        }
예제 #3
0
        public ActionResult Create(IFormCollection collection)
        {
            try
            {
                var employeeId       = new Random().Next(1000);
                var newEmployeeModel = new EmployeeModel
                {
                    Employeeid = employeeId,
                    Email      = collection.FirstOrDefault(x => x.Key == "Email").Value,
                    Name       = collection.FirstOrDefault(x => x.Key == "Name").Value,
                    Salary     = Convert.ToInt32(collection.FirstOrDefault(x => x.Key == "Salary").Value)
                };

                var dbEmployeeModel = new Employee()
                {
                    Employeeid = newEmployeeModel.Employeeid,
                    Email      = newEmployeeModel.Email,
                    Name       = newEmployeeModel.Name,
                    Salary     = newEmployeeModel.Salary
                };

                dal.AddEmployee(dbEmployeeModel);
                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
예제 #4
0
 private static EditDetailsAdditionalData GetEditDetailsAdditionalData(IFormCollection formCollection)
 {
     return(new EditDetailsAdditionalData
     {
         MarketResearchOptIn = !string.IsNullOrEmpty(formCollection.FirstOrDefault(x => string.Compare(x.Key, "marketResearchOptIn", StringComparison.CurrentCultureIgnoreCase) == 0).Value),
         MarketingOptIn = !string.IsNullOrEmpty(formCollection.FirstOrDefault(x => string.Compare(x.Key, "marketingOptIn", StringComparison.CurrentCultureIgnoreCase) == 0).Value),
     });
 }
예제 #5
0
        public IActionResult Create([FromForm] IFormCollection formData)
        {
            var text  = formData.FirstOrDefault(x => x.Key == "Text").Value.ToString();
            var theme = formData.FirstOrDefault(x => x.Key == "Theme").Value.ToString();


            FileInfo fileInfo     = new FileInfo(formData.Files[0].FileName);
            var      fn           = Guid.NewGuid() + fileInfo.Extension;
            var      memoryStream = formData.Files[0].OpenReadStream();



            var ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://198.37.116.25/" + fn);

            ftpRequest.ConnectionGroupName = "myConnectionGroup";
            ftpRequest.Credentials         = new NetworkCredential("annushka".Normalize(), "annushka123".Normalize());
            ftpRequest.EnableSsl           = false;
            ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;

            //Буфер для загружаемых данных
            byte[] file_to_bytes = new byte[formData.Files[0].Length];
            //Считываем данные в буфер

            formData.Files[0].OpenReadStream().Read(file_to_bytes, 0, (int)formData.Files[0].Length);


            //Поток для загрузки файла
            Stream writer = ftpRequest.GetRequestStream();

            writer.Write(file_to_bytes, 0, file_to_bytes.Length);
            writer.Close();



            //        byte[] fileContents = new byte[(int)formData.Files[0].Length];
            //        FileInfo fileInfo = new FileInfo(formData.Files[0].FileName);
            //            var fn =  Guid.NewGuid() + fileInfo.Extension;
            //        formData.Files[0].OpenReadStream().Read(fileContents, 0, (int)formData.Files[0].Length);

            //        FtpWebRequest request =
            //(FtpWebRequest)WebRequest.Create("ftp://[email protected]/www.santech.somee.com/wwwroot/img/"+fn);
            //        request.Credentials = new NetworkCredential("annushka", "annushka123");
            //        request.Method = WebRequestMethods.Ftp.UploadFile;



            Post post = new Post();

            post.Date     = DateTime.Now;
            post.AuthorId = 1;
            post.Img      = fn;
            post.Likes    = 0;
            post.Text     = text;
            post.Theme    = theme;
            _context.Posts.Add(post);
            _context.SaveChanges();
            return(Redirect("/Home/Index"));
        }
예제 #6
0
        public async Task <IActionResult> CreateApp(string appName, IFormCollection formData)
        {
            var appTypeName    = formData.FirstOrDefault(kvp => kvp.Key.Equals("TypeName")).Value.FirstOrDefault();
            var appTypeVersion = formData.FirstOrDefault(kvp => kvp.Key.Equals("TypeVersion")).Value.FirstOrDefault();

            if (appTypeName == null || appTypeVersion == null)
            {
                return(BadRequest());
            }
            await _clusterManager.CreateApp(appName, appTypeName, appTypeVersion);

            return(Ok(new { result = $"Application {appName} created" }));
        }
 public PassengerReservationViewModel(IFormCollection form)
 {
     FirstName      = form.FirstOrDefault(x => x.Key == "FirstName").Value;
     LastName       = form.FirstOrDefault(x => x.Key == "LastName").Value;
     MiddleName     = form.FirstOrDefault(x => x.Key == "MiddleName").Value;
     Nationality    = form.FirstOrDefault(x => x.Key == "Nationality").Value;
     PersonalNo     = form.FirstOrDefault(x => x.Key == "PersonalNo").Value;
     Telephone      = form.FirstOrDefault(x => x.Key == "Telephone").Value;
     TicketType     = int.Parse(form.FirstOrDefault(x => x.Key == "TicketType").Value);
     CurrentCount   = int.Parse(form.FirstOrDefault(x => x.Key == "CurrentCount").Value);
     PassengerCount = int.Parse(form.FirstOrDefault(x => x.Key == "PassengerCount").Value);
     ReservationId  = int.Parse(form.FirstOrDefault(x => x.Key == "ReservationId").Value);
 }
예제 #8
0
        public async Task <string> SelectAsync()
        {
            IFormCollection form = await _httpContextAccessor.HttpContext.Request.ReadFormAsync();

            KeyValuePair <string, StringValues> field = form.FirstOrDefault(x => x.Key.Equals(_phoneNumberFieldName, StringComparison.InvariantCultureIgnoreCase));

            return(!field.Value.Any() ? string.Empty : field.Value.ToString());
        }
예제 #9
0
        public async Task <ActionResult> Authorize(long chatId, IFormCollection form)
        {
            var accessToken = form
                              .FirstOrDefault(param => param.Key == "access_token")
                              .Value
                              .FirstOrDefault();
            var internalChatId = form
                                 .FirstOrDefault(param => param.Key == "state")
                                 .Value
                                 .FirstOrDefault();

            Guid secureKey;

            if (string.IsNullOrEmpty(accessToken) || !Guid.TryParse(internalChatId, out secureKey))
            {
                return(BadRequest());
            }

            try
            {
                await authorizationService.SetTokenAsync(chatId, secureKey, accessToken);
            }
            catch (DomainException)
            {
                return(BadRequest());
            }

            crmService.ForgetClient(chatId);
            var user = await crmService.GetUserAsync(chatId);

            var internalUserId = await userService.UpsertAsync(new User()
            {
                CrmUserId    = user.Id,
                FirstName    = user.FirstName,
                LastName     = user.LastName,
                TimeZoneCode = user.TimeZoneCode,
                BranchId     = user.BranchId
            });

            await telegramChatService.SetUserAsync(chatId, internalUserId);

            await telegramBot.NotifySuccessfulConnectionAsync(chatId);

            return(Ok());
        }
예제 #10
0
 public ActionResult Edit(int id, IFormCollection collection)
 {
     try
     {
         _context.Users.FirstOrDefault(user => user.Id == id).Id           = Convert.ToInt32(collection.FirstOrDefault(item => item.Key == "Id").Value[0]);
         _context.Users.FirstOrDefault(user => user.Id == id).Login        = collection.FirstOrDefault(item => item.Key == "Login").Value[0];
         _context.Users.FirstOrDefault(user => user.Id == id).PasswordHash = collection.FirstOrDefault(item => item.Key == "PasswordHash").Value[0];
         _context.Users.FirstOrDefault(user => user.Id == id).Email        = collection.FirstOrDefault(item => item.Key == "Email").Value[0];
         _context.Users.FirstOrDefault(user => user.Id == id).StatusId     = Convert.ToInt32(collection.FirstOrDefault(item => item.Key == "StatusId").Value[0]);
         _context.Users.FirstOrDefault(user => user.Id == id).RegDate      = Convert.ToDateTime(collection.FirstOrDefault(item => item.Key == "RegDate").Value[0]);
         _context.SaveChanges();
         return(RedirectToAction(nameof(Index)));
     }
     catch
     {
         return(View());
     }
 }
예제 #11
0
        public async Task <IActionResult> UploadFolder(IFormCollection formData)
        {
            var imageRoot = formData.FirstOrDefault(kvp => kvp.Key.Equals("ImagePath")).Value.FirstOrDefault();

            if (imageRoot == null)
            {
                return(BadRequest());
            }

            var contentRoot = Path.GetFileName(imageRoot);
            await _clusterManager.UploadFolder(contentRoot, imageRoot);

            return(Ok(new { result = $"{imageRoot} uploaded successfully" }));
        }
예제 #12
0
        public async Task <ImageAnalysisVM> AnalyzeImageFileOrUrlAsync(IFormCollection form, string urlBase)
        {
            var imageAnalysisVM = new ImageAnalysisVM();

            if (form.Files.Count > 0)
            {
                try
                {
                    foreach (var file in form.Files)
                    {
                        if (ValidateFile.IsValidImg(file))
                        {
                            imageAnalysisVM = await AnalyzeImageFileAsync(file, urlBase);

                            imageAnalysisVM.Message = "Success";
                        }
                        else
                        {
                            imageAnalysisVM.Message = "Error: Please make sure to choose an image (.jpeg, .png, .gif) less than or equal to 4 MB and try again!";
                        }
                    }
                }
                catch (Exception)
                {
                    imageAnalysisVM.Message = $"Error: An error occured while analyzing the image.";
                }
                return(imageAnalysisVM);
            }
            else
            {
                try
                {
                    var picUrl = form.FirstOrDefault(x => x.Key == "picurl").Value;

                    imageAnalysisVM = await AnalyzeUrlImage(picUrl);

                    imageAnalysisVM.Message = "Success";
                }
                catch (Exception)
                {
                    imageAnalysisVM.Message = $"Error: The given URL is not valid!";
                }
                return(imageAnalysisVM);
            }
        }
예제 #13
0
        public async Task <IActionResult> Post([FromRoute] string name, IFormCollection formData)
        {
            var language = formData.FirstOrDefault(kvp => kvp.Key.Equals("language")).Value.FirstOrDefault();
            var file     = formData.Files.FirstOrDefault(f => f.FileName.EndsWith(".zip"));

            if (language == null || file == null)
            {
                return(BadRequest());
            }

            if (!Enum.TryParse(language, true, out Language langType))
            {
                return(new UnsupportedMediaTypeResult());
            }

            await _funcManager.Create(langType, name, file.OpenReadStream());

            return(Ok(new { result = "function created" }));
        }
        public async Task <IActionResult> Upload([FromForm] IFormCollection formData)
        {
            var file = formData.Files.FirstOrDefault();

            var json = formData.FirstOrDefault(x => x.Key.Equals("loaddocumentform", StringComparison.CurrentCultureIgnoreCase)).Value;

            if (string.IsNullOrEmpty(json))
            {
                return(Error <string>("Invalid document metadata"));
            }

            var dto = JsonConvert.DeserializeObject <LoadDocumentUploadData>(json);

            dto.File = file;

            var result = await loadshopDocumentService.UploadDocument(dto);

            return(Success(result));
        }
        public async Task <IActionResult> Body(HomeCompositeViewModel viewModel, IFormCollection formCollection)
        {
            var session = await GetUserSession();

            if (formCollection.FirstOrDefault(x =>
                                              string.Compare(x.Key, "homeGovukCheckBoxAcceptplan", StringComparison.CurrentCultureIgnoreCase) ==
                                              0).Value == "on")
            {
                await _dssWriter.UpdateActionPlan(new UpdateActionPlan()
                {
                    CustomerId    = session.CustomerId,
                    InteractionId = session.InteractionId,
                    ActionPlanId  = session.ActionPlanId,
                    DateActionPlanAcknowledged = DateTime.UtcNow.AddMinutes(-1)
                });
            }

            await  ManageSession(session.CustomerId, session.ActionPlanId, session.InteractionId);

            return(RedirectTo("/home"));
        }
예제 #16
0
        private EditDetailsAdditionalData GetEditDetailsAdditionalData(IFormCollection formCollection)
        {
            PostalAddressModel selectedAddress = null;

            var SelectedAddressString = formCollection.FirstOrDefault(x =>
                                                                      string.Compare(x.Key, "select-address", StringComparison.CurrentCultureIgnoreCase) == 0).Value;

            if (!string.IsNullOrEmpty(SelectedAddressString))
            {
                selectedAddress = JsonConvert.DeserializeObject <PostalAddressModel>(SelectedAddressString);
            }

            return(new EditDetailsAdditionalData
            {
                FindAddress = formCollection.FirstOrDefault(x => string.Compare(x.Key, "findAddress", StringComparison.CurrentCultureIgnoreCase) == 0).Value,
                SaveDetails = formCollection.FirstOrDefault(x => string.Compare(x.Key, "saveDetails", StringComparison.CurrentCultureIgnoreCase) == 0).Value,
                SelectAddress = formCollection.FirstOrDefault(x => string.Compare(x.Key, "selectAddress", StringComparison.CurrentCultureIgnoreCase) == 0).Value,
                MarketResearchOptIn = !string.IsNullOrEmpty(formCollection.FirstOrDefault(x => string.Compare(x.Key, "marketResearchOptIn", StringComparison.CurrentCultureIgnoreCase) == 0).Value),
                MarketingOptIn = !string.IsNullOrEmpty(formCollection.FirstOrDefault(x => string.Compare(x.Key, "marketingOptIn", StringComparison.CurrentCultureIgnoreCase) == 0).Value),
                SelectedAddress = selectedAddress
            });
        }
예제 #17
0
        public async Task <IActionResult> Index(IFormFile file, IFormCollection form)
        {
            MeshResultModel model = new MeshResultModel();

            model.Original = new MeshDetailModel();
            model.Result   = new MeshDetailModel();

            string webRootPath        = _env.WebRootPath;
            string randomFilePath     = Path.GetRandomFileName().Replace(".", "");
            string relativeFolderPath = Path.Combine("models", "obj", randomFilePath);
            string newPath            = Path.Combine(webRootPath, relativeFolderPath);

            if (!Directory.Exists(newPath))
            {
                Directory.CreateDirectory(newPath);
            }

            var urlPath = relativeFolderPath.Replace("\\", "/");

            model.Original.RelativeFolderPath = urlPath;
            model.Result.RelativeFolderPath   = urlPath;

            List <ScriptParameterFilter> lstScriptParams = new List <ScriptParameterFilter>();

            if (form != null && form.Any())
            {
                foreach (var keyValuePair in form.ToList())
                {
                    var kp = keyValuePair.Key.Split("#");
                    if (kp.Length == 2)
                    {
                        var sp = lstScriptParams.FirstOrDefault(a => a.FilterName == kp[0]);
                        if (sp == null)
                        {
                            sp            = new ScriptParameterFilter();
                            sp.FilterName = kp[0];
                            lstScriptParams.Add(sp);
                        }

                        if (sp.FilterParameter == null)
                        {
                            sp.FilterParameter = new Dictionary <string, string>();
                        }

                        sp.FilterParameter.Add(kp[1], keyValuePair.Value);
                    }
                }
            }

            if (file?.Length > 0)
            {
                model.Original.Filename = file.FileName;
                var originalFilePath = await saveOriginalFile(file, newPath);

                HttpClient hc = new HttpClient();
                hc.Timeout = TimeSpan.FromHours(2);

                Client        c             = new Client(_appSettings.RestApiUrl, hc);
                FileParameter fileParameter = new FileParameter(file.OpenReadStream(), file.FileName, file.ContentType);

                JobResult jobResult = null;

                try
                {
                    jobResult = await c.UploadJobAsync(fileParameter, JsonConvert.SerializeObject(lstScriptParams), form.FirstOrDefault().Value, form.FirstOrDefault(a => a.Key == "selectedOutputFormat").Value);
                }
                catch (Exception e)
                {
                    //TODO: Schöner
                    ViewBag.Error = "Error at uploading.";
                    ViewBag.Code  = e.ToString();

                    return(View("Error"));
                }

                if (jobResult != null && jobResult.ResultCode.Number != JobResultCodeNumber._0)
                {
                    //Job wasn't finished successfull
                    ViewBag.Error = jobResult.ResultCode.Message;
                    ViewBag.Code  = jobResult.ResultCode.Number;

                    return(View("Error"));
                }
                else if (jobResult != null)
                {
                    var resultFile = await c.DownloadJobFileResultAsync(jobResult.FileResultName, jobResult.JobId, newPath);

                    model.Result.Filename         = resultFile;
                    model.Result.AdditionalValues = new Dictionary <string, string>(jobResult.AdditionalData);
                    model.Result.FileSize         = jobResult.FileResultSize;
                    model.Result.NumberOfFaces    = jobResult.ResultNumberOfFaces;
                    model.Result.NumberOfVertices = jobResult.ResultNumberOfVertices;

                    model.ReducedBy         = jobResult.ReducedBy;
                    model.Original.FileSize = jobResult.FileInputSize;
                    ViewBag.Link            = $"{_appSettings.RestApiUrl}/api/DownloadLogForJob/{jobResult.JobId}";
                }
            }
            else
            {
                //no file selected
                ViewBag.Error = "Please select file";
                ViewBag.Code  = "";

                return(View("Error"));
            }

            return(View("~/Views/Visualization/ModelResultPreview.cshtml", model));
        }