예제 #1
0
        public async Task <JsonResult> SaveProduct([FromForm] IFormCollection productData)
        {
            StringValues     productInfo;
            StringValues     langLabelInfo;
            List <IFormFile> images = (List <IFormFile>)productData.Files;

            productData.TryGetValue("product", out productInfo);
            productData.TryGetValue("langLabel", out langLabelInfo);

            ProductRegistrationView productParam = JsonConvert.DeserializeObject <ProductRegistrationView>(productInfo);
            List <ReferenceLabel>   langLabels   = JsonConvert.DeserializeObject <List <ReferenceLabel> >(langLabelInfo);

            Product product = _mapper.Map <Product>(productParam);

            product.ReferenceItem = new ReferenceItem
            {
                Code                = productParam.ProductReferenceCode,
                Value               = productParam.Name,
                ParentId            = productParam.Category,
                ReferenceCategoryId = 3,
                Validity            = true
            };

            int res = await this._productRepository.SaveProduct(product, images, langLabels);

            ApiResult result = new ApiResult()
            {
                Success = true, Msg = "OK", Type = "200"
            };

            return(Json(result));
        }
예제 #2
0
        public IActionResult Login(IFormCollection collection)
        {
            var    email = new StringValues();
            var    pass  = new StringValues();
            string token = "";

            if (collection.TryGetValue("Email", out email) && collection.TryGetValue("Password", out pass))
            {
                try
                {
                    var auth = new AuthLogic();
                    auth.Email    = email.ToString();
                    auth.Password = pass.ToString();
                    token         = auth.Login();
                    return(RedirectToAction("Index", "Profile", new { token = token }));
                }
                catch (Exception)
                {
                    return(Error());
                }
            }
            else
            {
                return(Error());
            }
        }
예제 #3
0
        private static object GetFormCollectionValue(IFormCollection collection, PropertyInfo propertyInfo, bool isEnumerable, object defaultValue, string baseName)
        {
            if (collection == null)
            {
                return(ConvertValueToType(propertyInfo, isEnumerable, defaultValue));
            }

            if (collection.TryGetValue($"{baseName}{propertyInfo.Name}", out var baseValues))
            {
                if (isEnumerable)
                {
                    return(ConvertValueToType(propertyInfo, true, baseValues.Where(w => !string.IsNullOrWhiteSpace(w)).Select(w => w).ToList()));
                }
                return(ConvertValueToType(propertyInfo, false, baseValues.FirstOrDefault()));
            }

            if (collection.TryGetValue(propertyInfo.Name, out var values))
            {
                if (isEnumerable)
                {
                    return(ConvertValueToType(propertyInfo, true, values.Where(w => !string.IsNullOrWhiteSpace(w)).Select(w => w).ToList()));
                }
                return(ConvertValueToType(propertyInfo, false, values.FirstOrDefault()));
            }

            return(ConvertValueToType(propertyInfo, isEnumerable, defaultValue));
        }
예제 #4
0
        public IActionResult Index(IFormCollection collection)
        {
            collection.TryGetValue("lengthBox", out Microsoft.Extensions.Primitives.StringValues lengthValue);
            collection.TryGetValue("fuzzBox", out Microsoft.Extensions.Primitives.StringValues fuzzValue);
            collection.TryGetValue("jazzBox", out Microsoft.Extensions.Primitives.StringValues jazzValue);
            collection.TryGetValue("backwardsBox", out Microsoft.Extensions.Primitives.StringValues backwardsValue);
            int length = 0;

            try
            {
                length = int.Parse(lengthValue.ToString());
            }
            catch (Exception e)
            {
                length = 100;
            }
            var fuzz      = !fuzzValue.ToString().Equals("false");
            var jazz      = !jazzValue.ToString().Equals("false");
            var backwards = !backwardsValue.ToString().Equals("false");

            var fizzBuzz = new FizzBuzzService(length, fuzz, jazz, backwards);

            var results = fizzBuzz.GetFizzBuzzResult();

            return(View("Index", new FormModel()
            {
                Length = length, Fuzz = fuzz, Jazz = jazz, Backwards = backwards, Results = results
            }));
        }
예제 #5
0
        public async Task <ActionResult> CreateAsync(IFormCollection collection)
        {
            try
            {
                var requestEnvironment = new RaaSP_Portal_External.DataAccess.Models.Request.Environment();
                var environment        = new Microsoft.Extensions.Primitives.StringValues();
                var requestUser        = new User();
                var user = new Microsoft.Extensions.Primitives.StringValues();
                collection.TryGetValue("user", out user);

                //TODO: Cast Form Object to Environment Model

                Uri businessUser = await CreateUserRequestAsync(requestUser);

                if (collection.ContainsKey("environment"))
                {
                    collection.TryGetValue("environment", out environment);

                    //TODO: Cast Form Object to Environment Model

                    Uri businessEnvironment = await CreateEnvironmentRequestAsync(requestEnvironment);
                }



                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
        public List <LogsModel> BuildCollectionFromListOfElement(List <LogsModel> lstElements, IFormCollection requestFormData)
        {
            var skip     = Convert.ToInt32(requestFormData["start"].ToString());
            var pageSize = Convert.ToInt32(requestFormData["length"].ToString());

            Microsoft.Extensions.Primitives.StringValues tempOrder = new[] { "" };

            if (requestFormData.TryGetValue("order[0][column]", out tempOrder))
            {
                var columnIndex   = requestFormData["order[0][column]"].ToString();
                var sortDirection = requestFormData["order[0][dir]"].ToString();
                tempOrder = new[] { "" };
                if (requestFormData.TryGetValue($"columns[{columnIndex}][data]", out tempOrder))
                {
                    var columName = requestFormData[$"columns[{columnIndex}][data]"].ToString();

                    if (pageSize > 0)
                    {
                        var prop = getProperty(columName);
                        if (sortDirection == "asc")
                        {
                            return(lstElements.OrderBy(prop.GetValue).Skip(skip).Take(pageSize).ToList());
                        }

                        return(lstElements.OrderByDescending(prop.GetValue).Skip(skip).Take(pageSize).ToList());
                    }

                    return(lstElements);
                }
            }
            return(null);
        }
        public async Task <IActionResult> Post([FromForm] IFormCollection data, CancellationToken cancelToken)
        {
            if (data.TryGetValue("code", out var code) == false)
            {
                this.ModelState.AddModelError("code 欄位", "必填");
                return(this.BadRequest(this.ModelState));
            }

            if (data.TryGetValue("state", out var state) == false)
            {
                this.ModelState.AddModelError("state 欄位", "必填");
                return(this.BadRequest(this.ModelState));
            }

            var config             = this._config;
            var lineNotifyProvider = this._lineNotifyProvider;

            var lineConfig = config.GetSection("LineNotify");
            var request    = new TokenRequest
            {
                Code         = code,
                ClientId     = lineConfig.GetValue <string>("clientId"),
                ClientSecret = lineConfig.GetValue <string>("clientSecret"),
                CallbackUrl  = lineConfig.GetValue <string>("redirectUri"),
            };
            var accessToken = await lineNotifyProvider.GetAccessTokenAsync(request, cancelToken);

            //TODO:應該記錄在你的 DB 或是其它地方,不應該回傳 Access Token
            return(this.Ok(accessToken));
        }
        public IActionResult UpdateTranslation(IFormCollection formCollection)
        {
            var index         = 0;
            var action        = nameof(Translations);
            var page          = SessionWrapper.GetStringValue("page");
            var error         = string.Empty;
            var keyValuePairs = new List <KeyValuePair <string, Models.Modules.Language.TranslationEntry> >();

            while (formCollection.TryGetValue($"id[{index}]", out StringValues idValues) &&
                   formCollection.TryGetValue($"key[{index}]", out StringValues keyValues) &&
                   formCollection.TryGetValue($"value[{index++}]", out StringValues valueValues))
            {
                keyValuePairs.Add(new KeyValuePair <string, Models.Modules.Language.TranslationEntry>(keyValues[0],
                                                                                                      new Models.Modules.Language.TranslationEntry
                {
                    Id    = Convert.ToInt32(idValues[0]),
                    Value = valueValues[0]
                }));
            }
            try
            {
                Modules.Language.Translator.UpdateTranslations(keyValuePairs);
            }
            catch (Exception ex)
            {
                error = GetExceptionError(ex);
            }
            return(RedirectToAction(action, new { page, error }));
        }
예제 #9
0
        public static bool TryGetFormRow(out FormRow formRow, uint index, IFormCollection requestForm)
        {
            var hasFormula       = requestForm.TryGetValue($"Formula[{index}]", out var formula);
            var hasErrorResponse = requestForm.TryGetValue($"ErrorResponse[{index}]", out var errorResponse);
            var hasTruthLabel    = requestForm.TryGetValue($"TruthLabel[{index}]", out var truthLabel);

            if (!hasTruthLabel)
            {
                truthLabel = "off";
            }

            if (hasFormula && hasErrorResponse)
            {
                formRow = new FormRow()
                {
                    Formula       = formula,
                    TruthLabel    = ((string)truthLabel).ConvertFromString(),
                    ErrorResponse = errorResponse
                };
                return(true);
            }
            else if (!hasFormula && !hasErrorResponse && !hasTruthLabel)
            {
                formRow = null;
                return(false);
            }
            else
            {
                throw new FormResolverException();
            }
        }
        /// <summary>
        /// A naive model binding that takes the values found in the IFormCollection
        /// </summary>
        /// <param name="formCollection"></param>
        /// <param name="model"></param>
        /// <typeparam name="TModel"></typeparam>
        /// <returns></returns>
        public static TModel Bind <TModel>(this IFormCollection formCollection, TModel model = default)
            where TModel : new()
        {
            model ??= new TModel();

            var properties = typeof(TModel)
                             .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty);

            foreach (var property in properties)
            {
                if (formCollection.TryGetValue(property.Name, out var values) ||
                    formCollection.TryGetValue($"{property.Name}[]", out values))
                {
                    // support generic collections
                    if (property.PropertyType.IsAssignableTo(typeof(IEnumerable)) &&
                        property.PropertyType != typeof(string) &&
                        property.PropertyType.IsGenericType)
                    {
                        var collectionType = property.PropertyType.GenericTypeArguments[0];

                        var mi   = typeof(Enumerable).GetMethod(nameof(Enumerable.Cast));
                        var cast = mi?.MakeGenericMethod(collectionType);

                        var items      = values.Select <string, object?>(v => ConvertToType(v, collectionType));
                        var collection = cast?.Invoke(null, new object?[] { items });
                        property.SetValue(model, collection);
                    }
                    else
                    {
                        // last in wins
                        var result = ConvertToType(values[^ 1], property.PropertyType);
예제 #11
0
        /// <summary>
        /// Validate payment form
        /// </summary>
        /// <param name="form">The parsed form values</param>
        /// <returns>List of validating errors</returns>
        public IList <string> ValidatePaymentForm(IFormCollection form)
        {
            if (form == null)
            {
                throw new ArgumentNullException(nameof(form));
            }

            if (_qualpaySettings.UseEmbeddedFields)
            {
                //try to get errors from Qualpay card tokenization
                if (form.TryGetValue(nameof(PaymentInfoModel.Errors), out var errorsString) && !StringValues.IsNullOrEmpty(errorsString))
                {
                    return(errorsString.ToString().Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).ToList());
                }
            }
            else
            {
                //validate payment info (custom validation)
                var validationResult = new PaymentInfoValidator(_localizationService).Validate(new PaymentInfoModel
                {
                    CardholderName  = form[nameof(PaymentInfoModel.CardholderName)],
                    CardNumber      = form[nameof(PaymentInfoModel.CardNumber)],
                    ExpireMonth     = form[nameof(PaymentInfoModel.ExpireMonth)],
                    ExpireYear      = form[nameof(PaymentInfoModel.ExpireYear)],
                    CardCode        = form[nameof(PaymentInfoModel.CardCode)],
                    BillingCardId   = form[nameof(PaymentInfoModel.BillingCardId)],
                    SaveCardDetails = form.TryGetValue(nameof(PaymentInfoModel.SaveCardDetails), out var saveCardDetails) &&
                                      bool.TryParse(saveCardDetails.FirstOrDefault(), out var saveCard) &&
                                      saveCard
                });
예제 #12
0
        public static (int startPageAtIndex, int pageLength, string searchValue, ICollection <(int, bool)> columnsOrders, ICollection <(int, string)> columnsSearches) GetJQueryDataTableRequest(IFormCollection formCollection)
        {
            var startPageAtIndex = int.Parse(formCollection["start"]);
            var pageLength       = int.Parse(formCollection["length"]);
            var searchValue      = formCollection["search[value]"].ToString();
            var columnsOrders    = new List <(int, bool)>();
            var columnsSearches  = new List <(int, string)>();

            var i = 0;

            while (
                formCollection.TryGetValue($"order[{i}][column]", out var columnNumber) &&
                formCollection.TryGetValue($"order[{i}][dir]", out var direction)
                )
            {
                columnsOrders.Add((int.Parse(columnNumber), direction == "asc"));
                i++;
            }
            i = 0;
            while (formCollection.TryGetValue($"columns[{i}][search][value]", out var colSearchValue))
            {
                columnsSearches.Add((i, colSearchValue));
                i++;
            }
            return(startPageAtIndex, pageLength, searchValue, columnsOrders, columnsSearches);
        }
예제 #13
0
        public ActionResult Create(IFormCollection collection)
        {
            try
            {
                var    courseName  = new StringValues();
                var    description = new StringValues();
                var    token       = new StringValues();
                string id          = "";
                if (collection.TryGetValue("CourseName", out courseName) && collection.TryGetValue("Description", out description) && collection.TryGetValue("token", out token))
                {
                    var username = AuthLogic.CheckToken(token.ToString());
                    if (username == "")
                    {
                        throw new Exception("NotAuthorized");
                    }

                    // save course
                    id = Course.CreateCourse(courseName.ToString(), description.ToString(), username);
                }
                return(RedirectToAction("Details", new { token = token, id = id }));
            }
            catch
            {
                return(View());
            }
        }
        private (bool randomQuestionPresent, Microsoft.Extensions.Primitives.StringValues providedAnswer, bool questionIdPresent, string questionId) RandomQuestionPresent(IFormCollection form)
        {
            var randomQuestionPresent = form.TryGetValue("random-question", out Microsoft.Extensions.Primitives.StringValues providedAnswer);
            var questionIdPresent     = form.TryGetValue("random-question-id", out Microsoft.Extensions.Primitives.StringValues questionId);

            return(randomQuestionPresent, providedAnswer, questionIdPresent, questionId);
        }
예제 #15
0
 public void PopulateFrom(IFormCollection form)
 {
     Code         = form.TryGetValue(OidcConstants.AuthorizeResponse.Code, out var code) ? code : default;
     IdToken      = form.TryGetValue(OidcConstants.AuthorizeResponse.IdentityToken, out var idToken) ? idToken : default;
     Scopes       = form.TryGetValue(OidcConstants.AuthorizeResponse.Scope, out var scope) ? ((string)scope).Split(' ') : default;
     SessionState = form.TryGetValue("session_state", out var sessionState) ? sessionState : default;
     State        = form.TryGetValue(OidcConstants.AuthorizeResponse.State, out var state) ? state : default;
 }
예제 #16
0
        private List <Models.Customer> populateCollection(List <Models.Customer> listElements, IFormCollection requestFormData)
        {
            string searchText = string.Empty;

            Microsoft.Extensions.Primitives.StringValues tempOrder = new[] { "" };

            if (requestFormData.TryGetValue("search[value]", out tempOrder))
            {
                searchText = requestFormData["search[value]"].ToString();
            }

            tempOrder = new[] { "" };

            var skip     = Convert.ToInt32(requestFormData["start"].ToString());
            var pageSize = Convert.ToInt32(requestFormData["length"].ToString());

            if (requestFormData.TryGetValue("order[0][column]", out tempOrder))
            {
                var columnIndex   = requestFormData["order[0][column]"].ToString();
                var sortDirection = requestFormData["order[0][dir]"].ToString();

                tempOrder = new[] { "" };

                if (requestFormData.TryGetValue($"columns[{columnIndex}][data]", out tempOrder))
                {
                    var columName = requestFormData[$"columns[{columnIndex}][data]"].ToString();

                    if (pageSize > 0)
                    {
                        var prop = getProperty(columName);
                        // for ascending
                        if (sortDirection == "asc")
                        {
                            return(listElements
                                   .Where(x => x.SureName.ToLower().Contains(searchText.ToLower()))
                                   .Skip(skip)
                                   .Take(pageSize)
                                   .OrderBy(prop.GetValue).ToList());
                        }
                        else
                        {
                            // for descending
                            return(listElements
                                   .Where(
                                       x => x.SureName.ToLower().Contains(searchText.ToLower()))
                                   .Skip(skip)
                                   .Take(pageSize)
                                   .OrderByDescending(prop.GetValue).ToList());
                        }
                    }
                    else
                    {
                        return(listElements);
                    }
                }
            }
            return(null);
        }
        private async static Task <(string operationName, string query, JObject variables)> ExtractGraphQLAttributesFromFormCollectionAsync(HttpRequest request)
        {
            IFormCollection requestFormCollection = await request.ReadFormAsync();

            return(
                requestFormCollection.TryGetValue(OPERATION_NAME_KEY, out var operationNameValues) ? operationNameValues[0] : null,
                requestFormCollection.TryGetValue(QUERY_KEY, out var queryValues) ? queryValues[0] : null,
                requestFormCollection.TryGetValue(VARIABLES_KEY, out var variablesValue) ? JObject.Parse(variablesValue[0]) : null
                );
        }
        private async static Task <(string operationName, string query, Inputs variables)> ExtractGraphQLAttributesFromFormCollectionAsync(HttpRequest request)
        {
            IFormCollection requestFormCollection = await request.ReadFormAsync();

            return(
                requestFormCollection.TryGetValue(OPERATION_NAME_KEY, out var operationNameValues) ? operationNameValues[0] : null,
                requestFormCollection.TryGetValue(QUERY_KEY, out var queryValues) ? queryValues[0] : null,
                requestFormCollection.TryGetValue(VARIABLES_KEY, out var variablesValue) ? JsonSerializer.Deserialize <Dictionary <string, object> >(variablesValue[0]).ToInputs() : null
                );
        }
예제 #19
0
        public async Task <IActionResult> Order(IFormCollection collection)
        {
            collection.TryGetValue("id", out StringValues id);
            collection.TryGetValue("insert", out StringValues insert);
            collection.TryGetValue("target", out StringValues target);

            Post p = await _dal.GetPostByIdAsync(id);

            Post t = await _dal.GetPostByIdAsync(target);

            if (p == null || t == null)
            {
                return(new NotFoundResult());
            }
            if (insert == "before")
            {
                int targetOrder = t.Order;
                p.Order = targetOrder + 1;
                foreach (Post _p in await _dal.PostsToListAsync(false))
                {
                    if (_p.Order >= p.Order)
                    {
                        _p.Order = _p.Order + 1;
                        await _dal.UpdateAsync(_p);
                    }
                }
                await _dal.UpdateAsync(p);

                return(Content("0"));
            }
            else if (insert == "after")
            {
                int targetOrder = t.Order;
                p.Order = targetOrder;
                t.Order = t.Order + 1;
                foreach (Post _p in await _dal.PostsToListAsync(false))
                {
                    if (_p.Order >= t.Order)
                    {
                        _p.Order = _p.Order + 1;
                        await _dal.UpdateAsync(_p);
                    }
                }
                await _dal.UpdateAsync(p);

                await _dal.UpdateAsync(t);

                return(Content("0"));
            }
            else
            {
                return(new NotFoundResult());
            }
        }
예제 #20
0
        //public ActionResult Create(IFormCollection collection)
        public ActionResult Create(IFormCollection form)
        {
            Microsoft.Extensions.Primitives.StringValues val1, val2, val3, val4;
            try
            {
                // ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");

                form.TryGetValue("ProjectName", out val1);
                form.TryGetValue("Description", out val2);
                form.TryGetValue("StartDate", out val3);
                form.TryGetValue("EndDate", out val4);

                Projects proj = new Projects();
                proj.Id          = GetTempID;
                proj.CreatedBy   = GetUserID;
                proj.Name        = val1.ToString();
                proj.Description = val2.ToString();
                proj.StartDate   = DateTime.Parse(val3.ToString());
                proj.EndDate     = DateTime.Parse(val4.ToString());;
                proj.ApprovedOn  = DateTime.Today;
                proj.CreatedOn   = DateTime.Today;
                proj.ModifiedOn  = DateTime.Today;
                proj.ApprovedBy  = proj.CreatedBy;
                proj.ModifiedBy  = proj.CreatedBy;
                this.context.Projects.Add(proj);
                this.context.SaveChanges();
                //proj. = 1;
                //HTTP POST
                //var postTask = client.PostAsJsonAsync<Project>("project", proj);


                // Campaign manager notification
                for (int i = 0; i < proj.WorkflowId; i++)
                {
                    var campaignManager = this.context.Workflow.Find(i++);
                    var emailInfo       = new UserEmailInformation(campaignManager.Name, campaignManager.EmailAddress);
                    var messageInfo     = new CampaignManagerNotificationEmail(proj.Name);
                    new EmailService(emailInfo, messageInfo);
                }
                //var result = postTask.Result;
                //if (result.IsSuccessStatusCode)
                //{
                return(RedirectToAction("MyProjects"));
                //}
                //}
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
예제 #21
0
        //private List<Field> LoadPanelContent(SqlConnection con, int CompanyID, string LanguageID)
        //{
        //    List<TempMultiSelectItem> AllMultiSelectItem = new List<TempMultiSelectItem>();
        //    List<Field> ret = new List<Field>();
        //    SqlCommand sql = new SqlCommand("GetPanelFields", con);
        //    sql.CommandType = CommandType.StoredProcedure;
        //    sql.Parameters.Add(new SqlParameter("PanelID", this.id));
        //    sql.Parameters.Add(new SqlParameter("CompanyID", CompanyID));
        //    sql.Parameters.Add(new SqlParameter("LanguageID", LanguageID));

        //    try
        //    {
        //        using (SqlDataReader sdr = sql.ExecuteReader())
        //        {
        //            while (sdr.Read())
        //            {
        //                Field f = null;

        //                int?   FieldID = sdr.IsDBNull(0) ? (int?)null : sdr.GetInt32(0);
        //                string FieldType = sdr.GetString(1).Trim();
        //                string Label = sdr.GetString(2).Trim();
        //                string StringValue = (sdr.IsDBNull(3) ? "" : sdr.GetString(3).Trim());

        //                switch (FieldType)
        //                {
        //                    case "tx":
        //                        f = new LabelTextBoxField((int)FieldID, Label, StringValue);
        //                        break;

        //                    case "rb":
        //                        f = new LabelRBCBControl<LabelRadioButtonField>(FieldID.ToString(), Label);
        //                        ((LabelRBCBControl<LabelRadioButtonField>)f).OtherRef = (sdr.IsDBNull(7) ? -1 : sdr.GetInt32(7));
        //                        ((LabelRBCBControl<LabelRadioButtonField>)f).SelectedValues = StringValue.Split(',');
        //                        break;

        //                    case "cb":
        //                        f = new LabelRBCBControl<LabelCheckBoxField>(FieldID.ToString(), Label);
        //                        ((LabelRBCBControl<LabelCheckBoxField>)f).OtherRef = (sdr.IsDBNull(7) ? -1 : sdr.GetInt32(7));
        //                        ((LabelRBCBControl<LabelCheckBoxField>)f).SelectedValues = StringValue.Split(',');
        //                        break;

        //                    case "rb-item":
        //                    case "cb-item":
        //                        TempMultiSelectItem tmsi = new TempMultiSelectItem();
        //                        tmsi.StringValue = (sdr.IsDBNull(3) ? "" : sdr.GetString(3).Trim());
        //                        tmsi.OtherRef = sdr.GetInt32(7);
        //                        tmsi.MultiSelectItemID = sdr.GetInt32(8);
        //                        AllMultiSelectItem.Add(tmsi);
        //                        break;

        //                    default:
        //                        break;
        //                }
        //                if (f != null)
        //                    ret.Add(f);
        //            }
        //        }
        //    }
        //    catch (Exception eee)
        //    {
        //        ret.Add(new LabelTextAreaField(1,"Exception in LoadPanelContent(..)",eee.ToString()));
        //    }

        //    AssignMultiSelectItemsToControls();


        //    return ret;
        //}

        public string GetSaveSQL(IFormCollection fc, FieldValueUpdateInfo UpdateInfo)
        {
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < Fields.Count; i++)
            {
                List <Field> DBFields = Fields[i].GetDBFields();

                for (int f = 0; f < DBFields.Count; f++)
                {
                    string       UpdateString = null;
                    StringValues NewValue     = new StringValues();
                    if (fc.TryGetValue(DBFields[f].HTMLFieldID, out NewValue))
                    {
                        UpdateString = DBFields[f].CreateDBUpdateStringIfNecessary(NewValue, UpdateInfo);
                    }
                    else
                    {
                        UpdateString = DBFields[f].GetResetDBUpdateString(UpdateInfo);         //  Update DB value to default val.
                    }
                    if (UpdateString != null)
                    {
                        sb.AppendLine(UpdateString);
                    }
                }
            }
            return(sb.ToString());
        }
예제 #22
0
        /// <summary>
        /// 获取 get/post 数据
        /// </summary>
        /// <param name="Request"></param>
        /// <returns></returns>
        private JObject GetParams(HttpRequest Request)
        {
            JObject      p = new JObject();
            StringValues value;

            if (Request.Method.ToLower() == "post") //post 数据请求
            {
                IFormCollection values = Request.Form;
                foreach (string key in values.Keys)
                {
                    if (values.TryGetValue(key, out value))
                    {
                        p.Add(key, value.ToString());
                    }
                }
            }
            else  //get 数据请求
            {
                IQueryCollection values = Request.Query;
                foreach (string key in values.Keys)
                {
                    if (values.TryGetValue(key, out value))
                    {
                        p.Add(key, value.ToString());
                    }
                }
            }
            return(p);
        }
예제 #23
0
        public bool Delete()             //目前只写Admin表
        {
            IFormCollection req = Request.Form;
            StringValues    id;

            System.Collections.Generic.ICollection <string> t3;

            t3 = req.Keys;
            string[] tt = new string[20];
            int      i  = 0;

            foreach (string x in t3)
            {
                tt[i++] = x;
            }
            req.TryGetValue(tt[0], out id);//ID

            var ty = _context.Admins.Find(id);

            if (object.Equals(ty, null))
            {
                return(false);
            }
            else
            {
                _context.Admins.Remove(ty);
                _context.SaveChanges();
                return(true);
            }
        }
예제 #24
0
        public static string[] GetValues(this IFormCollection form, string name)
        {
            StringValues sv;

            form.TryGetValue(name, out sv);
            return(sv.ToArray());
        }
예제 #25
0
        internal static List <KeyValue> ToList(this IFormCollection obj)
        {
            if (obj == null)
            {
                return(null);
            }

            var list = new List <KeyValue>();

            foreach (var key in obj.Keys)
            {
                if (key != null)
                {
                    if (obj.TryGetValue(key, out StringValues value))
                    {
                        list.Add(new KeyValue(key, value.ToString()));
                    }
                    else
                    {
                        list.Add(new KeyValue(key, "__ERROR_READING_VALUE__"));
                    }
                }
            }

            return(list);
        }
예제 #26
0
        internal static Dictionary <string, string> ToDictionary(this IFormCollection obj)
        {
            if (obj == null)
            {
                return(null);
            }

            var dic = new Dictionary <string, string>();

            foreach (var key in obj.Keys)
            {
                if (key != null)
                {
                    if (obj.TryGetValue(key, out StringValues value))
                    {
                        dic.Add(key, value);
                    }
                    else
                    {
                        dic.Add(key, "__ERROR_READING_VALUE__");
                    }
                }
            }

            return(dic);
        }
예제 #27
0
        public IActionResult Index(IFormCollection data)
        {
            List <int>   seatIds = new List <int>();
            StringValues viewingIdString;

            data.TryGetValue("viewingId", out viewingIdString);
            int viewingId = 0;

            Int32.TryParse(viewingIdString, out viewingId);
            foreach (var key in data.Keys)
            {
                int seatId = 0;
                if (Int32.TryParse(key, out seatId))
                {
                    seatIds.Add(seatId);
                }
            }

            if (seatIds.Count == 0)
            {
                TempData["Message"] = "You need to choose seats!";
                return(RedirectToAction("Index", new { id = viewingId }));
            }

            TempData["SeatIds"] = seatIds;
            return(RedirectToAction("Confirm", new { id = viewingId }));
        }
        public async Task <IActionResult> Create(IFormCollection collections)
        {
            var files = mapper.Map <IEnumerable <FileToUpload> >(collections.Files);

            collections.TryGetValue("name", out var requestName);
            collections.TryGetValue("neuralNetworkId", out var neuralNetworkId);

            var response = await faceRecognitionService.CreateRequest(new NewRequest
            {
                Name            = requestName,
                NeuralNetworkId = int.Parse(neuralNetworkId),
                Files           = files
            });

            return(Ok(new { faceRecognitionId = response }));
        }
예제 #29
0
    public FormValueProvider(
        BindingSource bindingSource,
        IFormCollection values,
        CultureInfo?culture)
        : base(bindingSource)
    {
        if (bindingSource == null)
        {
            throw new ArgumentNullException(nameof(bindingSource));
        }

        if (values == null)
        {
            throw new ArgumentNullException(nameof(values));
        }

        _values = values;

        if (_values.TryGetValue(CultureInvariantFieldName, out var invariantKeys) && invariantKeys.Count > 0)
        {
            _invariantValueKeys = new(invariantKeys, StringComparer.OrdinalIgnoreCase);
        }

        Culture = culture;
    }
예제 #30
0
        public async Task <IActionResult> Choose(IFormCollection data)
        {
            List <int>   seatIds = new List <int>();
            StringValues viewingIdString;

            data.TryGetValue("viewingId", out viewingIdString);
            int viewingId = 0;

            Int32.TryParse(viewingIdString, out viewingId);
            foreach (var key in data.Keys)
            {
                int seatId = 0;
                if (Int32.TryParse(key, out seatId))
                {
                    seatIds.Add(seatId);
                }
            }
            Order order = sqlTheaterData.CreateOrder(seatIds, viewingId);

            if (!TryValidateModel(order))
            {
                return(BadRequest(ModelState));
            }
            sqlTheaterData.Update();

            string url = String.Format($"../../Orders/Edit/{order.OrderId}");

            return(Redirect(url));
        }