Пример #1
0
        public ActionResult DocStatuses_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);
            var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1      = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";

            var rep = new CoreRepository();
            var p   = new DynamicParameters();

            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
            var items = rep.GetSQLData <dynamic>("GetDocStatuses", p, CommandType.StoredProcedure) as List <dynamic> ?? new List <dynamic>();

            var total = p.Get <int>("total");

            var json = JsonConvert.SerializeObject(new
            {
                items,
                total = total
            });

            return(Content(json, "application/json"));
        }
Пример #2
0
        public ActionResult DocLogs_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);

            var      isDownload = "";
            var      createdBy  = "";
            var      name       = "";
            DateTime createdMin = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            DateTime createdMax = (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                isDownload = parameters.filter.ContainsKey("isDownload") ? parameters.filter["isDownload"].ToString() : "0";
                createdBy  = parameters.filter.ContainsKey("createdBy") ? parameters.filter["createdBy"].ToString() : "";
                name       = parameters.filter.ContainsKey("name") ? parameters.filter["name"].ToString() : "";

                if (parameters.filter.ContainsKey("created") && parameters.filter["created"] != null)
                {
                    var dates = parameters.filter["created"].ToString()
                                .Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                    if (dates.Length > 0)
                    {
                        createdMin = RDL.Convert.StrToDateTime(dates[0].Trim(),
                                                               (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue);
                    }
                    if (dates.Length > 1)
                    {
                        createdMax = RDL.Convert.StrToDateTime(dates[1].Trim(),
                                                               (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue);
                        createdMax = createdMax.AddDays(1).AddSeconds(-1);
                    }
                }
            }
            var rep = new CoreRepository();
            var p   = new DynamicParameters();

            p.Add("isDownLoad", isDownload);
            p.Add("createdBy", createdBy);
            p.Add("name", name);
            p.Add("createdMin", createdMin);
            p.Add("createdMax", createdMax);

            var items = rep.GetSQLData <dynamic>("GetDocLogs", p, CommandType.StoredProcedure);
            var json  = JsonConvert.SerializeObject(new
            {
                items
            });

            return(Content(json, "application/json"));
        }
Пример #3
0
        public dynamic GetItems(ASCRUDGetItemsModel parameters, aspnet_Users user, out string msg, out int total)
        {
            msg   = "";
            total = 0;
            var name = "";

            if (!_IsCanUserChange(user))
            {
                msg = "Нет прав для данной операции";
                return(null);
            }
            try
            {
                if (parameters.filter != null && parameters.filter.Count > 0)
                {
                    name = parameters.filter.ContainsKey("name") ? parameters.filter["name"].ToString() : "";
                }

                var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
                var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
                var sort1      = sorts.Length > 0 ? sorts[0] : "";
                var direction1 = directions.Length > 0 ? directions[0] : "";

                var rep = new CoreRepository();
                var p   = new DynamicParameters();
                p.Add("name", name);
                p.Add("sort1", sort1);
                p.Add("direction1", direction1);
                p.Add("page", parameters.page);
                p.Add("pageSize", parameters.pageSize);
                p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
                dynamic res = rep.GetSQLData <dynamic>("motskin_GetContractors", p, CommandType.StoredProcedure) as List <dynamic> ?? new List <dynamic>();

                total = p.Get <int>("total");
                return(res);
            }

            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                msg = "Сбой при выполнении операции";
                return(null);
            }
        }
Пример #4
0
        public ActionResult StatisticsByWeeks()
        {
            var      rep       = new CoreRepository();
            var      p         = new DynamicParameters();
            int      year      = DateTime.Now.Year;
            DateTime date      = DateTime.Now;
            int      week      = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(date, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
            var      curtMonth = new DateTime(DateTime.Now.Year, 01, 01);

            p.Add("weeks", week);
            p.Add("curMonth", year);
            var items = rep.GetSQLData <dynamic>("[GetMailByWeeks]", p, CommandType.StoredProcedure);

            return(Json(new
            {
                item = items,
                day = DateTime.Now.ToString("yyyy/MM/dd"),
                prevDay = curtMonth.ToString("yyyy/MM/dd"),
                nextDay = DateTime.Now.ToString("yyyy/MM/dd")
            }, JsonRequestBehavior.AllowGet));
        }
Пример #5
0
        public ActionResult DocTypeTemplates_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);

            var name   = "";
            var typeID = "";

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                name   = parameters.filter.ContainsKey("name") ? parameters.filter["name"].ToString() : "";
                typeID = parameters.filter.ContainsKey("typeID") ? parameters.filter["typeID"].ToString() : "0";
            }

            var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1      = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";

            var rep = new CoreRepository();
            var p   = new DynamicParameters();

            p.Add("name", name);
            p.Add("typeID", typeID);
            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
            var items = rep.GetSQLData <dynamic>("GetDocTypeTemplates", p, CommandType.StoredProcedure) as List <dynamic> ?? new List <dynamic>();

            var total = p.Get <int>("total");

            var json = JsonConvert.SerializeObject(new
            {
                items,
                total = total
            });

            return(Content(json, "application/json"));
        }
Пример #6
0
        public ActionResult Docs_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);

            var      name         = "";
            var      number       = "";
            var      path         = "";
            var      typeID       = "";
            var      statusID     = "";
            var      projectID    = "";
            var      contragentID = "";
            DateTime createdMin   = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            DateTime createdMax   = (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                name         = parameters.filter.ContainsKey("name") ? parameters.filter["name"].ToString() : "";
                number       = parameters.filter.ContainsKey("number") ? parameters.filter["number"].ToString() : "";
                path         = parameters.filter.ContainsKey("path") ? parameters.filter["path"].ToString() : "";
                typeID       = parameters.filter.ContainsKey("typeID") ? parameters.filter["typeID"].ToString() : "0";
                statusID     = parameters.filter.ContainsKey("statusID") ? parameters.filter["statusID"].ToString() : "0";
                projectID    = parameters.filter.ContainsKey("projectID") ? parameters.filter["projectID"].ToString() : "0";
                contragentID = parameters.filter.ContainsKey("contragentID") ? parameters.filter["contragentID"].ToString() : "0";

                if (parameters.filter.ContainsKey("created") && parameters.filter["created"] != null)
                {
                    var dates = parameters.filter["created"].ToString().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                    if (dates.Length > 0)
                    {
                        createdMin = RDL.Convert.StrToDateTime(dates[0].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue);
                    }
                    if (dates.Length > 1)
                    {
                        createdMax = RDL.Convert.StrToDateTime(dates[1].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue);
                        createdMax = createdMax.AddDays(1).AddSeconds(-1);
                    }
                }
            }

            var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1      = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";

            var rep = new CoreRepository();
            var p   = new DynamicParameters();

            p.Add("name", name);
            p.Add("number", number);
            p.Add("path", path);
            p.Add("typeID", typeID);
            p.Add("statusID", statusID);
            p.Add("projectID", projectID);
            p.Add("contragentID", contragentID);
            p.Add("createdMin", createdMin);
            p.Add("createdMax", createdMax);
            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
            var items = rep.GetSQLData <dynamic>("GetDocs", p, CommandType.StoredProcedure) as List <dynamic> ?? new List <dynamic>();

            var total = p.Get <int>("total");

            var json = JsonConvert.SerializeObject(new
            {
                items,
                total = total
            });

            return(Content(json, "application/json"));
        }
Пример #7
0
        public ActionResult Reclamations_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);
            var rep = new CoreRepository();
            var p = new DynamicParameters();
            var haveWOW = 0;
            DateTime createdMin = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            DateTime createdMax = (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;
            int y = 0, m = 0, d = 0;

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                List<int?> statusIDs = new List<int?>();
                if (parameters.filter.ContainsKey("statusIDs"))
                {
                    statusIDs = (parameters.filter["statusIDs"] as ArrayList).ToArray().Select(x => (int?)RDL.Convert.StrToInt(x.ToString(), 0)).ToList();
                }
                p.Add("statusIDs", String.Join(",", statusIDs));

                if (parameters.filter.ContainsKey("created") && parameters.filter["created"] != null)
                {
                    var date = parameters.filter["created"].ToString();
                    if (date.Length == 10)
                    {
                        y = Convert.ToInt32(date.Substring(6));
                        m = Convert.ToInt32(date.Substring(3, 2));
                        d = Convert.ToInt32(date.Substring(0, 2));
                        p.Add("createdDate", new DateTime(y, m, d));
                    }
                }
                
                haveWOW = parameters.filter.ContainsKey("haveWOWname") ? RDL.Convert.StrToInt(parameters.filter["haveWOWname"].ToString(), 0) : -1;
            }

            string[] sorts = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            string sort1 = sorts.Length > 0 ? sorts[0] : "";
            string[] directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            string direction1 = directions.Length > 0 ? directions[0] : "";

            p.Add("haveWOWname", haveWOW - 1);
            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);

            var items = rep.GetSQLData<dynamic>("GetCRMReclamationsTable", p, CommandType.StoredProcedure);
            var total = p.Get<int>("total");

            foreach (var item in items)
            {
                if (item.name == null) item.name = string.Empty;
                if (item.customerText == null) item.customerText = string.Empty;
                if (item.whatToDo == null) item.whatToDo = string.Empty;
                if (item.statusName == null) item.statusName = string.Empty;
                if (item.created == null) item.created = string.Empty;
                if (item.addedBy == null) item.addedBy = string.Empty;
                if (item.reportDate == null) item.reportDate = string.Empty;
                if (item.projectName == null) item.projectName = string.Empty;
                if (item.haveWOW == 1) item.haveWOWname = "Да"; else item.haveWOWname = "Нет";
            }

            var json = JsonConvert.SerializeObject(new
            {
                items,
                total = total
            });
            return Content(json, "application/json");
        }
Пример #8
0
        public ActionResult Clients_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);
            var mng = new CRMManager();
            var text = "";
            var sourceID = 0;
            var needActive = -1;
            List<int?> statusID = new List<int?>();

            DateTime? nextContactMin = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            DateTime? nextContactMax = (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                text = parameters.filter.ContainsKey("text") ? parameters.filter["text"].ToString() : "";
                needActive = parameters.filter.ContainsKey("needActive") ? RDL.Convert.StrToInt(parameters.filter["needActive"].ToString(), -1) : -1;
                sourceID = parameters.filter.ContainsKey("sourceName") ? RDL.Convert.StrToInt(parameters.filter["sourceName"].ToString(), 0) : 0;
                statusID = new List<int?>();
                if (parameters.filter.ContainsKey("statusName"))
                {
                    statusID = (parameters.filter["statusName"] as ArrayList).ToArray().Select(x => (int?)RDL.Convert.StrToInt(x.ToString(), 0)).ToList();
                }
                if (parameters.filter.ContainsKey("nextContact") && parameters.filter["nextContact"] != null)
                {
                    var dates = parameters.filter["nextContact"].ToString().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                    if (dates.Length > 0)
                    {
                        nextContactMin = RDL.Convert.StrToDateTime(dates[0].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue);
                    }
                    if (dates.Length > 1)
                    {
                        nextContactMax = RDL.Convert.StrToDateTime(dates[1].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue);
                    }
                }
            }
            
            var sorts = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1 = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";

            var rep = new CoreRepository();
            var p = new DynamicParameters();
            p.Add("text", text);
            p.Add("sourceID", (sourceID == 0) ? "" : Convert.ToString(sourceID));
            p.Add("statusID", String.Join(",", statusID));
            p.Add("needActive", (needActive == -1) ? "" : Convert.ToString(needActive));
            p.Add("nextContactMin", nextContactMin);
            p.Add("nextContactMax", nextContactMax);
            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
            var items = rep.GetSQLData<dynamic>("GetCRMClientsTable", p, CommandType.StoredProcedure);
         
            var total = p.Get<int>("total");
            var json = JsonConvert.SerializeObject(new
            {
                items,
                total = total
            });
            var res1 = json.Replace("\"needActive\":null", "\"needActive\":\"Не проработано\"");
            var res2 = res1.Replace("\"needActive\":true", "\"needActive\":\"Да\"");
            var res3 = res2.Replace("\"needActive\":false", "\"needActive\":\"Нет\"");
            var res4 = res3.Replace("null", "\"\"");
            return Content(res4, "application/json");
        }
Пример #9
0
        public dynamic GetItems(ASCRUDGetItemsModel parameters, aspnet_Users user, out string msg, out int total)
        {
            msg   = "";
            total = 0;
            var      number       = "";
            var      strStatusIDs = "";
            var      contractorID = "";
            DateTime createdMin   = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            DateTime createdMax   = (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;

            if (!_IsCanUserChange(user))
            {
                msg = "Нет прав для данной операции";
                return(null);
            }
            try
            {
                if (parameters.filter != null && parameters.filter.Count > 0)
                {
                    number       = parameters.filter.ContainsKey("number") ? parameters.filter["number"].ToString() : "";
                    contractorID = parameters.filter.ContainsKey("contractorID") ? parameters.filter["contractorID"].ToString() : "";
                    strStatusIDs = parameters.filter.ContainsKey("strStatusIDs") ? parameters.filter["strStatusIDs"].ToString() : "";
                    if (parameters.filter.ContainsKey("created") && parameters.filter["created"] != null)
                    {
                        var dates = parameters.filter["created"].ToString().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                        if (dates.Length > 0)
                        {
                            createdMin = RDL.Convert.StrToDateTime(dates[0].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue);
                        }
                        if (dates.Length > 1)
                        {
                            createdMax = RDL.Convert.StrToDateTime(dates[1].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue);
                            createdMax = createdMax.AddDays(1).AddSeconds(-1);
                        }
                    }
                }

                var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
                var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
                var sort1      = sorts.Length > 0 ? sorts[0] : "";
                var direction1 = directions.Length > 0 ? directions[0] : "";

                var rep = new CoreRepository();
                var p   = new DynamicParameters();
                p.Add("number", number);
                p.Add("strStatusIDs", strStatusIDs);
                p.Add("contractorID", contractorID);
                p.Add("createdMin", createdMin);
                p.Add("createdMax", createdMax);
                p.Add("sort1", sort1);
                p.Add("direction1", direction1);
                p.Add("page", parameters.page);
                p.Add("pageSize", parameters.pageSize);
                p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
                dynamic res = rep.GetSQLData <dynamic>("motskin_GetInvoices", p, CommandType.StoredProcedure) as List <dynamic> ?? new List <dynamic>();

                total = p.Get <int>("total");
                return(res);
            }

            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                msg = "Сбой при выполнении операции";
                return(null);
            }
        }
Пример #10
0
        public ActionResult Mails_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);

            var      from            = "";
            var      to              = "";
            var      statusID        = 0;
            var      numberTrack     = "";
            var      numberTrackBack = "";
            DateTime createdMin      = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            DateTime createdMax      = (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                from            = parameters.filter.ContainsKey("from") ? parameters.filter["from"].ToString() : "";
                to              = parameters.filter.ContainsKey("to") ? parameters.filter["to"].ToString() : "";
                statusID        = parameters.filter.ContainsKey("statusName") ? RDL.Convert.StrToInt(parameters.filter["statusName"].ToString(), 0) : 0;
                numberTrack     = parameters.filter.ContainsKey("numberTrack") ? parameters.filter["numberTrack"].ToString() : "";
                numberTrackBack = parameters.filter.ContainsKey("numberTrackBack") ? parameters.filter["numberTrackBack"].ToString() : "";

                if (parameters.filter.ContainsKey("date") && parameters.filter["date"] != null)
                {
                    var dates = parameters.filter["date"].ToString().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                    if (dates.Length > 0)
                    {
                        createdMin = RDL.Convert.StrToDateTime(dates[0].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue);
                    }
                    if (dates.Length > 1)
                    {
                        createdMax = RDL.Convert.StrToDateTime(dates[1].Trim(), (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue);
                    }
                }
            }


            var sorts      = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            var sort1      = sorts.Length > 0 ? sorts[0] : "";
            var direction1 = directions.Length > 0 ? directions[0] : "";


            var rep = new CoreRepository();
            var p   = new DynamicParameters();

            p.Add("from", from);
            p.Add("to", to);
            p.Add("statusID", statusID);
            p.Add("numberTrack", numberTrack);
            p.Add("numberTrackBack", numberTrackBack);
            p.Add("createdMin", createdMin);
            p.Add("createdMax", createdMax);
            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);

            var items = rep.GetSQLData <dynamic>("Gurevskiy_GetMails", p, CommandType.StoredProcedure);
            var total = p.Get <int>("total");

            var json = JsonConvert.SerializeObject(new
            {
                items,
                total = total
            });

            return(Content(json, "application/json"));
        }
Пример #11
0
        public ActionResult Partners_getItems()
        {
            var parameters     = AjaxModel.GetParameters(HttpContext);
            var mng            = new PartnersManager();
            var rep            = new CoreRepository();
            var p              = new DynamicParameters();
            var specialization = mng.GetPartnersSpec();

            List <int?> statusIDs = new List <int?>();
            List <int?> specsIDs  = new List <int?>();

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                p.Add("text", parameters.filter.ContainsKey("text") ? parameters.filter["text"].ToString().Trim() : string.Empty);
                if (parameters.filter.ContainsKey("statusIDs"))
                {
                    statusIDs = parameters.filter["statusIDs"].ToString() != string.Empty ? parameters.filter["statusIDs"].ToString().Split(',').Select(x => (int?)RDL.Convert.StrToInt(x.ToString(), 0)).ToList() : null;
                }

                if (parameters.filter.ContainsKey("specIDs"))
                {
                    specsIDs = parameters.filter["specIDs"].ToString() != string.Empty ? parameters.filter["specIDs"].ToString().Split(',').Select(x => (int?)RDL.Convert.StrToInt(x, 0)).ToList() : null;
                }
            }

            string[] sorts = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            string   sort1 = sorts.Length > 0 ? sorts[0] : "";

            string[] directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            string   direction1 = directions.Length > 0 ? directions[0] : "";

            if (specsIDs != null)
            {
                p.Add("specsIDs", String.Join(",", specsIDs));
            }
            else
            {
                p.Add("specsIDs", String.Join(",", string.Empty));
            }

            if (statusIDs != null)
            {
                p.Add("statusIDs", String.Join(",", statusIDs));
            }
            else
            {
                p.Add("statusIDs", String.Join(",", string.Empty));
            }

            p.Add("sort1", sort1);
            p.Add("direction1", direction1);
            p.Add("page", parameters.page);
            p.Add("pageSize", parameters.pageSize);
            p.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);

            var items = rep.GetSQLData <dynamic>("[GetPartners]", p, CommandType.StoredProcedure);
            var total = p.Get <object>("total");

            var res = new List <object>();

            foreach (var group in (items as List <dynamic>).GroupBy(x => x.partnerID))
            {
                var partner = group.FirstOrDefault();
                var specs   = string.Empty;


                foreach (var item in specialization)
                {
                    specs += string.Format("<input type='checkbox' class='specialization' " + (group.FirstOrDefault(x => (int)x.specsID == item.id) != null ? "checked": string.Empty) + " specID='" + item.id + "' id='spec" + item.id + "' /><label for='spec" + item.id + "'>{0}</label><br />", item.name);
                }
                res.Add(new
                {
                    partnerID = group.Key,
                    partner.fio,
                    partner.statusName,
                    partner.url,
                    partner.desc,
                    partner.experience,
                    partner.technologies,
                    partner.conditions,
                    specs = specs
                });
            }

            var json = JsonConvert.SerializeObject(new
            {
                items = res,
                total = res.Count
            });

            return(Content(json, "application/json"));
        }
        public ActionResult GetTable()
        {
            var correctStatuses = new List <string>()
            {
                "да", "нет"
            };

            ViewBag.correctStatuses = correctStatuses;

            var rep        = new CoreRepository();
            var parameters = new DynamicParameters();

            parameters.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);
            parameters.Add("pageSize", 100);

            var items = rep.GetSQLData <dynamic>("[GetTextMistakesTable]", parameters, CommandType.StoredProcedure);

            var res = new List <object>();

            try
            {
                foreach (var item in (items as List <dynamic>))
                {
                    res.Add(new
                    {
                        item.id,
                        user = item.userName != null ? item.userName : "",
                        item.selectText,
                        item.url,
                        item.comment,
                        correct = item.correct ? "да" : "нет"
                    });
                }
            }
            catch (NullReferenceException e)
            {
                Console.WriteLine(e);
            }

            var users        = new List <string>();
            var urls         = new List <string>();
            var textMistakes = new List <string>();
            var textComments = new List <string>();

            if (res.Count != 0)
            {
                foreach (dynamic obj in res)
                {
                    users.Add(obj.user);
                    urls.Add(obj.url);
                    textMistakes.Add(obj.selectText);
                    textComments.Add(obj.comment);
                }
            }

            ViewBag.Users        = users.Where(x => x != "").Distinct().ToList();
            ViewBag.Urls         = urls.Where(x => x != "").Distinct().ToList();
            ViewBag.TextMistakes = textMistakes.Where(x => x != "").Distinct().ToList();
            ViewBag.TextComments = textComments.Where(x => x != "").Distinct().ToList();
            return(View());
        }
        public ActionResult Table_getItems()
        {
            var parameters = AjaxModel.GetParameters(HttpContext);

            string userName   = "";
            string searchText = "";
            object correct    = null;

            if (parameters.filter != null && parameters.filter.Count > 0)
            {
                userName   = parameters.filter.ContainsKey("user") ? (parameters.filter["user"].ToString() != "0" ? parameters.filter["user"].ToString() : "") : "";
                searchText = parameters.filter.ContainsKey("searchText") ? (parameters.filter["searchText"].ToString() != "0" ? parameters.filter["searchText"].ToString() : "") : "";
                correct    = parameters.filter.ContainsKey("correct") ? parameters.filter["correct"] : null;
            }

            string[] sorts = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            string   sort1 = sorts.Length > 0 ? sorts[0] : "";

            string[] directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
            string   direction1 = directions.Length > 0 ? directions[0] : "";

            var rep   = new CoreRepository();
            var param = new DynamicParameters();

            param.Add("UserName", userName);
            param.Add("SelectText", searchText);
            param.Add("Correct", correct);
            param.Add("SortField", sort1);
            param.Add("Directions", direction1);
            param.Add("page", parameters.page);
            param.Add("pageSize", parameters.pageSize);
            param.Add("total", dbType: DbType.Int32, direction: ParameterDirection.Output);

            var items = rep.GetSQLData <dynamic>("[GetTextMistakesTable]", param, CommandType.StoredProcedure);

            var res       = new List <object>();
            var usersList = new List <object>();

            try
            {
                foreach (var item in (items as List <dynamic>))
                {
                    res.Add(new
                    {
                        item.id,
                        user = item.userName != null ? item.userName : "",
                        item.selectText,
                        item.url,
                        item.comment,
                        correct = item.correct ? "да" : "нет"
                    });
                    usersList.Add(new { user = item.userName != null ? item.userName : "" });
                }
            }
            catch (NullReferenceException e)
            {
                Console.WriteLine(e);
            }
            var json = JsonConvert.SerializeObject(new
            {
                items = res,
                total = res.Count
            });

            return(Content(json, "application/json"));
        }