예제 #1
0
        public ActionResult SearchAjax(Models.SearchModel model)
        {
            model.StoreId = StoreID;
            string pageQuery = Request.QueryString["page"];

            WebService.SearchResult rs = new WebService.SearchResult();
            int page = 1;

            if (!string.IsNullOrEmpty(pageQuery))
            {
                page = Convert.ToInt32(pageQuery);
            }
            AnperoService sv = new AnperoService();

            //if (!string.IsNullOrEmpty(model.ParentCategory) && model.ParentCategory!="0")
            //{
            //    rs = sv.GetProductByParentCategory(StoreID, TokenKey, Convert.ToInt32(model.ParentCategory), model.Page, model.PageSize, 0);
            //}
            //else if (!string.IsNullOrEmpty(model.Category) && model.Category != "0")
            //{
            //    rs = sv.GetProductByCategory(StoreID, TokenKey, Convert.ToInt32(model.Category), model.Page, model.PageSize, 0);
            //}
            //else
            //{
            rs = sv.SearchProduct(StoreID, TokenKey, model.Category.ToString(), model.ParentCategory, model.GroupId, model.PriceFrom, model.PriceTo, model.Page, model.PageSize, model.KeyWord, model.SortBy, 0, string.Empty);
            //}
            ViewData["productList"] = rs;
            if (rs != null)
            {
                ViewBag.page = Anpero.Paging.setupAjaxPage(model.Page, model.PageSize, rs.ResultCount, 10, "Search.Products", model.SortBy);
            }
            return(PartialView("SearchAjax"));
        }
예제 #2
0
        public ActionResult Index(FormCollection f)
        {
            string bide      = string.Empty;
            string comeTime  = string.Empty;
            string leaveTime = string.Empty;
            string key       = string.Empty;

            //入住地
            if (f["txtBide"] != null)
            {
                bide = f["txtBide"].ToString();
            }

            //入住时间
            if (f["txtComeTime"] != null)
            {
                comeTime = f["txtComeTime"].ToString();
            }

            //离店时间
            if (f["txtLeaveTime"] != null)
            {
                leaveTime = f["txtLeaveTime"].ToString();
            }

            //关键词
            if (f["txtKeyword"] != null)
            {
                key = f["txtKeyword"].ToString();
            }
            Models.SearchModel sm = new Models.SearchModel();
            sm.Bide = bide;
            sm.Key  = key;
            try
            {
                sm.ComeTime  = DateTime.Parse(comeTime);
                sm.LeaveTime = DateTime.Parse(leaveTime);
            }
            catch
            {
            }

            int total = 0;

            if (!string.IsNullOrEmpty(bide))
            {
                IQueryable <Models.SearchHotelModel> hd = Bll.Search.GetSearchModelBySearch(bide, System.DateTime.Now, System.DateTime.Now, key, 1, pageSize, ref total);
                sm.HotelBaseInfo = new Webdiyer.WebControls.Mvc.PagedList <Models.SearchHotelModel>(hd, 1, pageSize, total);
            }
            return(View(sm));
        }
예제 #3
0
        public ActionResult Search(String searchText)
        {
            SearchModel model = new Models.SearchModel();

            model.search_content = "";
            model.questions      = new List <Question>();
            if (searchText != null || !searchText.Equals(""))
            {
                model.search_content = searchText;
                QuestionDao questiondao = new Dao.QuestionDao();
                model.questions = questiondao.search_title(searchText);
            }
            return(View(model));
        }
예제 #4
0
        public ActionResult Index(FormCollection f)
        {
            string bide = string.Empty;
            string comeTime = string.Empty;
            string leaveTime = string.Empty;
            string key = string.Empty;
            //入住地
            if (f["txtBide"] != null)
            {
                bide = f["txtBide"].ToString();
            }

            //入住时间
            if (f["txtComeTime"] != null)
            {
                comeTime = f["txtComeTime"].ToString();
            }

            //离店时间
            if (f["txtLeaveTime"] != null)
            {
                leaveTime = f["txtLeaveTime"].ToString();
            }

            //关键词
            if (f["txtKeyword"] != null)
            {
                key = f["txtKeyword"].ToString();
            }
            Models.SearchModel sm = new Models.SearchModel();
            sm.Bide = bide;
            sm.Key = key;
            try
            {
                sm.ComeTime = DateTime.Parse(comeTime);
                sm.LeaveTime = DateTime.Parse(leaveTime);
            }
            catch
            {
            }

            int total = 0;
            if (!string.IsNullOrEmpty(bide))
            {
                IQueryable<Models.SearchHotelModel> hd = Bll.Search.GetSearchModelBySearch(bide, System.DateTime.Now, System.DateTime.Now, key, 1, pageSize, ref  total);
                sm.HotelBaseInfo = new Webdiyer.WebControls.Mvc.PagedList<Models.SearchHotelModel>(hd, 1, pageSize, total);
            }
            return View(sm);
        }
예제 #5
0
        public ActionResult SearchAll(string bide, string key, string cometime,
                                      string leavetime, int?min, int?max, string starts, string mintomax, int pi)
        {
            Models.SearchModel sm = new Models.SearchModel();
            sm.Bide = bide;
            sm.Key  = key;
            DateTime come  = System.DateTime.Now;
            DateTime leave = System.DateTime.Now.AddDays(2);

            try
            {
                come  = DateTime.Parse(cometime);
                leave = DateTime.Parse(leavetime);
            }
            catch
            {
            }
            sm.ComeTime  = come;
            sm.LeaveTime = leave;
            int total = 0;

            pi = pi <= 0 ? 1 : pi;
            if (string.IsNullOrEmpty(starts))
            {
                starts = "all";
            }
            if (string.IsNullOrEmpty(mintomax))
            {
                mintomax = "mintomax";
            }
            ViewBag.min      = min;
            ViewBag.max      = max;
            ViewBag.mintomax = mintomax;
            ViewBag.starts   = starts;
            if (!string.IsNullOrEmpty(bide))
            {
                IQueryable <Models.SearchHotelModel> hd =
                    Bll.Search.GetSearchModelByAllConditions(bide, key, min, max,
                                                             starts, mintomax, pi, pageSize, ref total);

                sm.HotelBaseInfo = new Webdiyer.WebControls.Mvc.PagedList <Models.SearchHotelModel>(hd, pi, pageSize, total);
            }
            return(View(sm));
        }
예제 #6
0
        /// <summary>
        /// EditForm вычисляет (строит, корректирует) модель записи и направляет ее на View построения фрагмента редактирования.
        /// Возможно несколько случаев запуска EditForm: 1) начальное построение объекта класса RecordModel, который представляет 
        /// собой формируемую копию имеющейся записи; 2) коррекция модели и построение формы; 3) фиксация результата в БД.
        /// Носителем состояния объекта являются публичные переменные, передаваемые от построения к построению. Признаком
        /// первого варианта является булевский признак firsttime, который потом "гасится" до конца итераций.  
        /// </summary>
        /// <param name="rmodel"></param>
        /// <returns></returns>
        //[HttpPost]
        public PartialViewResult EditForm(Turgunda2.Models.RecordModel rmodel)
        {
            string chk = Request.Params["chk"]; // проверка ОДНОЙ введенной связи
            string ok = Request.Params["ok"]; // фиксация изменений, запоминание в БД
            string canc = Request.Params["canc"]; // Отмена редактирования

            //string p_4 = Request["p_4"];
            //string p_4_ = Request.QueryString["p_4"];

            if (rmodel.firsttime)
            { // формирование формы редактирования
                rmodel.firsttime = false;
                bool replacemode = true;
                if (rmodel.eid == "create888")
                {
                    string eid = StaticObjects.AddInvRelation(rmodel.bid, rmodel.iprop, rmodel.etype, User.Identity.Name);
                    rmodel.eid = eid;
                    replacemode = false;
                }
                rmodel.LoadFromDb();
                rmodel.MakeLocalRecord();
                //XElement[] arr = rmodel.GetHeaderFlow().ToArray();
                //rmodel.MakeXResult();
                if (!replacemode) ViewData["insertnewrelation"] = rmodel.eid;
            }
            else if (canc != null)
            {
                rmodel.LoadFromDb();
                rmodel.MakeLocalRecord();
                return PartialView("EditFormFinal", rmodel);
            }
            else
            { // Собирание данных из реквеста
                XElement format = rmodel.CalculateFormat();
                XElement[] hrows = rmodel.GetHeaderFlow().ToArray();
                if (chk != null)
                {   // Проверка. Находим первый ряд такой, что: а) это прямое отношение, б) набран текст и есть тип, в) нет ссылки.
                    // Делаем поисковый запрос через SearchModel. Результаты SearchResult[] помещаем в ViewData под именем searchresults,
                    // а в ViewData["searchindex"] поместим индекс
                    var pair = hrows.Select((hr, ind) => new { hr = hr, ind = ind })
                        .FirstOrDefault(hrind =>
                        {
                            var hr = hrind.hr;
                            if (hr.Name != "d") return false;
                            var ind = hrind.ind;
                            if (string.IsNullOrEmpty(rmodel.GetFValue(ind)) || string.IsNullOrEmpty(rmodel.GetTValue(ind))) return false;
                            if (!string.IsNullOrEmpty(rmodel.GetPValue(ind))) return false;
                            return true;
                        });
                    if (pair != null)
                    {
                        int ind = pair.ind;
                        // Ничего проверять не буду
                        Turgunda2.Models.SearchModel sm = new Models.SearchModel(rmodel.GetFValue(ind), rmodel.GetTValue(ind));
                        ViewData["searchresults"] = sm.Results;
                        ViewData["searchindex"] = ind;
                    }
                }
                else if (ok != null)
                { // Запоминание
                    // Соберем получившуюся запись
                    XElement record = new XElement(sema2012m.ONames.GetXName(rmodel.etype),
                        new XAttribute(sema2012m.ONames.rdfabout, rmodel.eid),
                        hrows.Select((fd, ind) => new { fd = fd, ind = ind })
                        .Select(fdind =>
                        {
                            XElement fd = fdind.fd;
                            int ind = fdind.ind;
                            XName xprop = sema2012m.ONames.GetXName(fd.Attribute("prop").Value);
                            if (fd.Name == "f")
                            {
                                string value = rmodel.GetFValue(ind);
                                if (true || !string.IsNullOrEmpty(value)) // Эта проверка мешает(ла) уничтожению полей
                                {
                                    // Надо определить еще нужен ли язык и какой
                                    bool istext = Turgunda2.Models.Common.IsTextField(fd.Attribute("prop").Value);
                                    return new XElement(xprop, rmodel.GetFValue(ind),
                                        istext ? new XAttribute(sema2012m.ONames.xmllang, rmodel.lang) : null);
                                }
                            }
                            else if (fd.Name == "d")
                            {
                                string pvalue = rmodel.GetPValue(ind);
                                if (!string.IsNullOrEmpty(pvalue))
                                    return new XElement(xprop,
                                    new XAttribute(sema2012m.ONames.rdfresource, rmodel.GetPValue(ind)));
                            }
                            return (XElement)null;
                        }));
                    // Пошлем эту запись на изменение
                    StaticObjects.PutItemToDb(record, false, User.Identity.Name);
                    // Если эта запись является записью типа "DocumentPart", то фиксируем две величины:
                    // ссылку inDocument и идентификатор, имеющийся "за" этой ссылкой
                    if (record.Name.LocalName == "DocumentPart" && record.Name.NamespaceName == sema2012m.ONames.FOG)
                    {
                        var resource_el = record.Element(XName.Get("inDocument", sema2012m.ONames.FOG));
                        if (resource_el != null)
                        {
                            string pvalue = resource_el.Attribute(sema2012m.ONames.rdfresource).Value;
                            Session["inDocumentId"] = pvalue;
                            int ind = 0;
                            for (; ind < Turgunda2.Models.RecordModel.nfields; ind++)
                                if (rmodel.GetPValue(ind) == pvalue) break;
                            if (ind < Turgunda2.Models.RecordModel.nfields)
                            {
                                //var s1 = rmodel.GetFValue(ind);
                                //var s2 = rmodel.GetPValue(ind);
                                //var s3 = rmodel.GetTValue(ind);
                                //var s4 = rmodel.GetVValue(ind);

                                Session["inDocumentName"] = rmodel.GetVValue(ind);
                            }
                        }
                    }

                    return PartialView("EditFormFinal", rmodel);
                }
                else if (rmodel.command != null && rmodel.command == "SetVariant")
                { // Выбор варианта значения для связывания
                    string[] parts = rmodel.exchange.Split('|');
                    int ind = Int32.Parse(parts[0]);
                    string p_id = parts[1];
                    string p_name = parts[2];
                    rmodel.SetPValue(ind, p_id);
                    rmodel.SetVValue(ind, p_name);
                    rmodel.CalculateFormat();
                }
                else if (rmodel.command != null && rmodel.command == "SetVariantNew")
                { // Связывание с новым значением
                    string[] parts = rmodel.exchange.Split('|');
                    int ind = Int32.Parse(parts[0]);
                    string p_type = parts[1];
                    string p_name = parts[2];
                    string nid = StaticObjects.CreateNewItem(p_name, p_type, User.Identity.Name);
                    rmodel.SetPValue(ind, nid);
                    rmodel.SetVValue(ind, p_name);
                    rmodel.CalculateFormat();
                }
                else
                { // Остальное

                }
            }
            return PartialView("EditForm", rmodel);
        }
예제 #7
0
        public ActionResult SearchAll(string bide, string key, string cometime,
            string leavetime, int? min, int? max, string starts, string mintomax, int pi)
        {
            Models.SearchModel sm = new Models.SearchModel();
            sm.Bide = bide;
            sm.Key = key;
            DateTime come = System.DateTime.Now;
            DateTime leave = System.DateTime.Now.AddDays(2);
            try
            {
                come = DateTime.Parse(cometime);
                leave = DateTime.Parse(leavetime);
            }
            catch
            {
            }
            sm.ComeTime = come;
            sm.LeaveTime = leave;
            int total = 0;
            pi = pi <= 0 ? 1 : pi;
            if (string.IsNullOrEmpty(starts))
            {
                starts = "all";
            }
            if (string.IsNullOrEmpty(mintomax))
            {
                mintomax = "mintomax";
            }
            ViewBag.min = min;
            ViewBag.max = max;
            ViewBag.mintomax = mintomax;
            ViewBag.starts = starts;
            if (!string.IsNullOrEmpty(bide))
            {
                IQueryable<Models.SearchHotelModel> hd =
                   Bll.Search.GetSearchModelByAllConditions(bide, key, min, max,
                    starts, mintomax, pi, pageSize, ref  total);

                sm.HotelBaseInfo = new Webdiyer.WebControls.Mvc.PagedList<Models.SearchHotelModel>(hd, pi, pageSize, total);
            }
            return View(sm);
        }
예제 #8
0
        public ActionResult SearchPost(string Search, string Save, string saveName, int tableId,
                                       string[] SearchWhereName,
                                       string[] SearchValue,
                                       string[] SearchRange,
                                       string[] SearchGroupName,
                                       string[] SearchSelectName,
                                       string[] SearchSelectValue)
        {
            var vm = new ViewModels.SearchQueryViewModel();

            if (SearchSelectName == null)
            {
                vm.Query = "Selectは1つ以上指定してください。";
                return(PartialView("_SearchQuery", vm));
            }

            var tableInfoInput = new Models.Search.FetchTableInfoInput();

            tableInfoInput.TableId = tableId;
            var tableInfo = fetchTableInfoRepository.FetchTableInfo(tableInfoInput);

            if (tableInfo == null)
            {
                vm.Query = "選択されたテーブルがありません。テーブル選択からやり直してください。";
                return(PartialView("_SearchQuery", vm));
            }

            var model = new Models.SearchModel();

            model.WhereModel = new List <Models.SearchWhereModel>();
            if (SearchWhereName != null)
            {
                for (var i = 0; i <= SearchWhereName.Length - 1; i++)
                {
                    var sm = new Models.SearchWhereModel(SearchWhereName[i], (Models.WhereRangeEnum) int.Parse(SearchRange[i]), SearchValue[i]);
                    model.WhereModel.Add(sm);
                }
            }

            model.SelectModel = new List <Models.SearchSelectModel>();
            if (SearchSelectName != null)
            {
                for (var i = 0; i <= SearchSelectName.Length - 1; i++)
                {
                    var sm = new Models.SearchSelectModel(SearchSelectName[i], (Models.SelectValueEnum) int.Parse(SearchSelectValue[i]));
                    model.SelectModel.Add(sm);
                }
            }

            if (Save != null)
            {
                if (string.IsNullOrWhiteSpace(saveName))
                {
                    return(PartialView("_Message", new MessageViewModel()
                    {
                        Message = "名前入力してください。"
                    }));
                }
                var tableInput = new Models.Search.FetchTableAllColumnInfoInput();
                tableInput.TableId = tableId;
                var tableOutput = fetchTableInfoRepository.FetchTableAllColumnInfo(tableInput);

                var input = new Models.Search.SaveSearchSettingInput();
                input.SearchSettingName = saveName;
                input.SearchTableId     = tableId;
                var wheres  = new List <Models.Search.SaveSearchWhereInput>();
                var selects = new List <Models.Search.SaveSearchSelectInput>();

                foreach (var item in model.SelectModel)
                {
                    var select = new Models.Search.SaveSearchSelectInput();
                    var r      = tableOutput.FetchTableColumnDetails.Where(x => x.ColumnName == item.SelectColumn).SingleOrDefault();
                    select.SelectColumnId    = r.ColumnId;
                    select.SearchSelectValue = item.SelectValue;
                    selects.Add(select);
                }

                foreach (var item in model.WhereModel)
                {
                    var where = new Models.Search.SaveSearchWhereInput();
                    var r = tableOutput.FetchTableColumnDetails.Where(x => x.ColumnName == item.WhereColumn).SingleOrDefault();
                    where.WhereColumnId = r.ColumnId;
                    where.WhereRange    = item.WhereRange;
                    where.WhereValue    = item.WhereValue;
                    wheres.Add(where);
                }

                input.Wheres  = wheres;
                input.Selects = selects;

                saveSearchSettingRepository.SaveSearchSetting(input);
                var messageVm = new ViewModels.MessageViewModel();
                messageVm.Message = "Success";
                return(PartialView("_Message", messageVm));
            }
            else
            {
                //Search

                var parameters = new List <string>();

                var query = new DbExtensions.SqlBuilder();
                foreach (var item in model.SelectModel)
                {
                    query.SELECT(item.ToSelectSql());
                }
                query.FROM(tableInfo.TableInfo.TableName);
                foreach (var item in model.WhereModel)
                {
                    query.WHERE(item.ToWhereSql(), item.WhereValue);
                    parameters.Add(item.WhereValue);
                }
                if (model.SelectModel.Any(x => x.SelectValue != Models.SelectValueEnum.Raw))
                {
                    foreach (var item in model.SelectModel.Where(x => x.SelectValue == Models.SelectValueEnum.Raw))
                    {
                        query.GROUP_BY(item.SelectColumn);
                    }
                }

                DbExtensions.DatabaseConfiguration.DefaultProviderInvariantName = Properties.Settings.Default.ProviderName;
                DbExtensions.DatabaseConfiguration.DefaultConnectionString      = Properties.Settings.Default.DefaultConnection;
                var db      = new DbExtensions.Database();
                var command = db.CreateCommand(query);

                var paramstring = new System.Text.StringBuilder();
                foreach (var item in parameters)
                {
                    paramstring.AppendLine(item);
                }
                vm.Query = command.CommandText + "\r\n" + paramstring.ToString();
                return(PartialView("_SearchQuery", vm));
            }
        }
예제 #9
0
        //[HttpPost]
        public PartialViewResult EditForm(Turgunda6.Models.RecordModel rmodel)
        {
            string chk  = Request.Params["chk"];  // проверка ОДНОЙ введенной связи
            string ok   = Request.Params["ok"];   // фиксация изменений, запоминание в БД
            string canc = Request.Params["canc"]; // Отмена редактирования

            //string p_4 = Request["p_4"];
            //string p_4_ = Request.QueryString["p_4"];

            if (rmodel.firsttime)
            { // формирование формы редактирования
                rmodel.firsttime = false;
                bool replacemode = true;
                if (rmodel.eid == "create888")
                {
                    string eid = Turgunda7.SObjects.AddInvRelation(rmodel.bid, rmodel.iprop, rmodel.etype,
                                                                   (new Turgunda6.Models.UserModel(Request)).Uuser);
                    rmodel.eid  = eid;
                    replacemode = false;
                }
                rmodel.LoadFromDb();
                rmodel.MakeLocalRecord();
                //XElement[] arr = rmodel.GetHeaderFlow().ToArray();
                //rmodel.MakeXResult();
                if (!replacemode)
                {
                    ViewData["insertnewrelation"] = rmodel.eid;
                }
            }
            else if (canc != null)
            {
                rmodel.LoadFromDb();
                rmodel.MakeLocalRecord();
                return(PartialView("EditFormFinal", rmodel));
            }
            else
            { // Собирание данных из реквеста
                XElement   format = rmodel.CalculateFormat();
                XElement[] hrows  = rmodel.GetHeaderFlow().ToArray();
                if (chk != null)
                {   // Проверка. Находим первый ряд такой, что: а) это прямое отношение, б) набран текст и есть тип, в) нет ссылки.
                    // Делаем поисковый запрос через SearchModel. Результаты SearchResult[] помещаем в ViewData под именем searchresults,
                    // а в ViewData["searchindex"] поместим индекс
                    var pair = hrows.Select((hr, ind) => new { hr = hr, ind = ind })
                               .FirstOrDefault(hrind =>
                    {
                        var hr = hrind.hr;
                        if (hr.Name != "d")
                        {
                            return(false);
                        }
                        var ind = hrind.ind;
                        if (string.IsNullOrEmpty(rmodel.GetFValue(ind)) || string.IsNullOrEmpty(rmodel.GetTValue(ind)))
                        {
                            return(false);
                        }
                        if (!string.IsNullOrEmpty(rmodel.GetPValue(ind)))
                        {
                            return(false);
                        }
                        return(true);
                    });
                    if (pair != null)
                    {
                        int ind = pair.ind;
                        // Ничего проверять не буду
                        Turgunda6.Models.SearchModel sm = new Models.SearchModel(rmodel.GetFValue(ind), rmodel.GetTValue(ind));
                        ViewData["searchresults"] = sm.Results;
                        ViewData["searchindex"]   = ind;
                    }
                }
                else if (ok != null)
                { // Запоминание
                    // Соберем получившуюся запись
                    XElement record = new XElement(ONames.GetXName(rmodel.etype),
                                                   new XAttribute(ONames.rdfabout, rmodel.eid),
                                                   hrows.Select((fd, ind) => new { fd = fd, ind = ind })
                                                   .Select(fdind =>
                    {
                        XElement fd = fdind.fd;
                        int ind     = fdind.ind;
                        XName xprop = ONames.GetXName(fd.Attribute("prop").Value);
                        if (fd.Name == "f")
                        {
                            string value = rmodel.GetFValue(ind);
                            if (true || !string.IsNullOrEmpty(value))     // Эта проверка мешает(ла) уничтожению полей
                            {
                                // Надо определить еще нужен ли язык и какой
                                bool istext = TurgundaCommon.ModelCommon.IsTextField(fd.Attribute("prop").Value);
                                return(new XElement(xprop, rmodel.GetFValue(ind),
                                                    istext ? new XAttribute(ONames.xmllang, rmodel.lang) : null));
                            }
                        }
                        else if (fd.Name == "d")
                        {
                            string pvalue = rmodel.GetPValue(ind);
                            if (!string.IsNullOrEmpty(pvalue))
                            {
                                return(new XElement(xprop,
                                                    new XAttribute(ONames.rdfresource, rmodel.GetPValue(ind))));
                            }
                        }
                        return((XElement)null);
                    }));
                    // Пошлем эту запись на изменение
                    Turgunda7.SObjects.PutItemToDb(record, false, (new Turgunda6.Models.UserModel(Request)).Uuser);
                    // Если эта запись является записью типа "DocumentPart", то фиксируем две величины:
                    // ссылку inDocument и идентификатор, имеющийся "за" этой ссылкой
                    if (record.Name.LocalName == "DocumentPart" && record.Name.NamespaceName == "http://fogid.net/o/")
                    {
                        var resource_el = record.Element("{http://fogid.net/o/}inDocument");
                        if (resource_el != null)
                        {
                            string pvalue = resource_el.Attribute(ONames.rdfresource).Value;
                            Session["inDocumentId"] = pvalue;
                            int ind = 0;
                            for (; ind < Turgunda6.Models.RecordModel.nfields; ind++)
                            {
                                if (rmodel.GetPValue(ind) == pvalue)
                                {
                                    break;
                                }
                            }
                            if (ind < Turgunda6.Models.RecordModel.nfields)
                            {
                                //var s1 = rmodel.GetFValue(ind);
                                //var s2 = rmodel.GetPValue(ind);
                                //var s3 = rmodel.GetTValue(ind);
                                //var s4 = rmodel.GetVValue(ind);

                                Session["inDocumentName"] = rmodel.GetVValue(ind);
                            }
                        }
                    }

                    return(PartialView("EditFormFinal", rmodel));
                }
                else if (rmodel.command != null && rmodel.command == "SetVariant")
                { // Выбор варианта значения для связывания
                    string[] parts  = rmodel.exchange.Split('|');
                    int      ind    = Int32.Parse(parts[0]);
                    string   p_id   = parts[1];
                    string   p_name = Server.UrlDecode(parts[2]);
                    rmodel.SetPValue(ind, p_id);
                    rmodel.SetVValue(ind, p_name);
                    rmodel.CalculateFormat();
                }
                else if (rmodel.command != null && rmodel.command == "SetVariantNew")
                { // Связывание с новым значением
                    string[] parts  = rmodel.exchange.Split('|');
                    int      ind    = Int32.Parse(parts[0]);
                    string   p_type = parts[1];
                    string   p_name = Server.UrlDecode(parts[2]);
                    string   nid    = Turgunda7.SObjects.CreateNewItem(p_name, p_type, (new Turgunda6.Models.UserModel(Request)).Uuser);
                    rmodel.SetPValue(ind, nid);
                    rmodel.SetVValue(ind, p_name);
                    rmodel.CalculateFormat();
                }
                else
                { // Остальное
                }
            }
            return(PartialView("EditForm", rmodel));
        }
예제 #10
0
        public ActionResult Search([Bind(Include = "Testament,Book,Chapter,Number,Text")] Models.SearchModel verse)
        {
            List <Table>      tables = versesDB.Tables.ToList();
            List <VerseModel> temp   = new List <VerseModel>();

            foreach (Table t in tables)
            {
                verseList.AddVerse(t.toVerse());
            }

            //if statements check if the fields were empty or not, and if not narrows the list down to the matches
            if (verse.Testament != null)
            {
                var testtest = from VerseModel in verseList.GetAllVerses()
                               where VerseModel.Testament.ToLower().Contains(verse.Testament.ToLower())
                               select VerseModel;

                temp.Clear();
                foreach (var v in testtest)
                {
                    temp.Add(v);
                }

                verseList.ClearList();
                foreach (var v in temp)
                {
                    verseList.AddVerse(v);
                }
            }
            if (verse.Book != null)
            {
                var testtest = from VerseModel in verseList.GetAllVerses()
                               where VerseModel.Book.ToLower().Contains(verse.Book.ToLower())
                               select VerseModel;

                temp.Clear();
                foreach (var v in testtest)
                {
                    temp.Add(v);
                }

                verseList.ClearList();
                foreach (var v in temp)
                {
                    verseList.AddVerse(v);
                }
            }
            if (verse.Chapter > 0)
            {
                var testtest = from VerseModel in verseList.GetAllVerses()
                               where VerseModel.Chapter.Equals(verse.Chapter)
                               select VerseModel;

                temp.Clear();
                foreach (var v in testtest)
                {
                    temp.Add(v);
                }

                verseList.ClearList();
                foreach (var v in temp)
                {
                    verseList.AddVerse(v);
                }
            }
            if (verse.Number > 0)
            {
                var testtest = from VerseModel in verseList.GetAllVerses()
                               where VerseModel.Number.Equals(verse.Number)
                               select VerseModel;

                temp.Clear();
                foreach (var v in testtest)
                {
                    temp.Add(v);
                }

                verseList.ClearList();
                foreach (var v in temp)
                {
                    verseList.AddVerse(v);
                }
            }
            if (verse.Text != null)
            {
                var testtest = from VerseModel in verseList.GetAllVerses()
                               where VerseModel.Text.ToLower().Contains(verse.Text.ToLower())
                               select VerseModel;

                temp.Clear();
                foreach (var v in testtest)
                {
                    temp.Add(v);
                }

                verseList.ClearList();
                foreach (var v in temp)
                {
                    verseList.AddVerse(v);
                }
            }

            //If the list ended up empty at the end, a "Not Found" page is displayed
            if (verseList.GetAllVerses().Count <= 0)
            {
                return(View("NotFound"));
            }
            //Sends the search results to a ResultsModel and shows the Results view with the newly created model
            else
            {
                //TODO make "Results"
                ResultsModel results = new ResultsModel(verseList.GetAllVerses());
                return(View("Results", results));
            }
        }