Ejemplo n.º 1
0
        public List <vas_contractors> GetContractors(ASCRUDGetItemsModel parameters, aspnet_Users user, out string msg)
        {
            msg = "";
            var res = new List <vas_contractors>();

            if (!_canAccessToContractor(user, null))
            {
                msg = "Нет прав для данной операции";
                return(res = null);
            }

            try
            {
                var items = _getContractors();
                if (parameters.filter != null && parameters.filter.Count > 0)
                {
                    var name = parameters.filter.ContainsKey("name") ? parameters.filter["name"].ToString() : "";

                    if (name != "")
                    {
                        items = items.ToList().Where(x => x.name != null && x.name.IndexOf(name, StringComparison.CurrentCultureIgnoreCase) >= 0).AsQueryable();
                    }
                }

                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] : "";

                if (direction1 == "up")
                {
                    items = items.OrderBy(x => x.name);
                }
                else
                {
                    items = items.OrderByDescending(x => x.name);
                }

                res = items.Skip(parameters.pageSize * (parameters.page - 1)).Take(parameters.pageSize).ToList();
            }

            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                res = null;
                msg = "Сбой при выполнеии операции";
            }

            return(res);
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
0
        public List <vas_documents> GetDocuments(ASCRUDGetItemsModel parameters, aspnet_Users user, out string msg)
        {
            msg = "";
            var res = new List <vas_documents>();

            if (!_canAccessToDocument(user, null))
            {
                msg = "Нет прав для данной операции";
                return(res = null);
            }

            try
            {
                var items = _getDocuments();
                if (parameters.filter != null && parameters.filter.Count > 0)
                {
                    var         name         = parameters.filter.ContainsKey("name") ? parameters.filter["name"].ToString() : "";
                    var         typeID       = parameters.filter.ContainsKey("contractorID") ? RDL.Convert.StrToInt(parameters.filter["typeID"].ToString(), 0) : 0;
                    var         contractorID = parameters.filter.ContainsKey("contractorID") ? RDL.Convert.StrToInt(parameters.filter["contractorID"].ToString(), 0) : 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();
                    }
                    DateTime createdMin = DateTime.MinValue, createdMax = DateTime.MaxValue;
                    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.MinValue);
                        }
                        if (dates.Length > 1)
                        {
                            createdMax = RDL.Convert.StrToDateTime(dates[1].Trim(), DateTime.MaxValue);
                        }
                    }

                    items = items.Where(x => (typeID == 0 || x.typeID == typeID) &&
                                        (contractorID == 0 || x.contractorID == contractorID) &&
                                        (statusIDs.Count == 0 || statusIDs.Contains(x.statusID)) &&
                                        (createdMin <= x.date && x.date <= createdMax)
                                        );

                    if (name != "")
                    {
                        items = items.ToList().Where(x => x.name != null && x.name.IndexOf(name, StringComparison.CurrentCultureIgnoreCase) >= 0).AsQueryable();
                    }
                }

                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] : "";

                switch (sort1)
                {
                case "name":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.name);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.name);
                    }
                    break;

                case "number":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.number);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.number);
                    }
                    break;

                case "date":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.date);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.date);
                    }
                    break;

                case "sum":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.sum);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.sum);
                    }
                    break;

                case "type":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.vas_docTypes.name);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.vas_docTypes.name);
                    }
                    break;

                case "status":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.vas_docStatuses.name);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.vas_docStatuses.name);
                    }
                    break;

                case "contractor":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.vas_contractors.name);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.vas_contractors.name);
                    }
                    break;

                default:
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.date);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.date);
                    }
                    break;
                }
                res = items.Skip(parameters.pageSize * (parameters.page - 1)).Take(parameters.pageSize).ToList();
            }

            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                res = null;
                msg = "Сбой при выполнеии операции";
            }

            return(res);
        }
Ejemplo n.º 4
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);
            }
        }
Ejemplo n.º 5
0
        public List <tsilurik_invoices> GetInvoices(ASCRUDGetItemsModel parameters, aspnet_Users user, out string msg, out int total)
        {
            msg   = "";
            total = 0;
            var res = new List <tsilurik_invoices>();

            if (!_canAccessToInvoice(user, null))
            {
                msg = "Нет прав для данной операции";
                return(res = null);
            }

            try
            {
                var items = _getInvoices();
                if (parameters.filter != null && parameters.filter.Count > 0)
                {
                    var         number       = parameters.filter.ContainsKey("number") ? parameters.filter["number"].ToString() : "";
                    var         contractorID = parameters.filter.ContainsKey("contractorID") ? RDL.Convert.StrToInt(parameters.filter["contractorID"].ToString(), 0) : 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();
                    }

                    items = items.Where(x =>
                                        (contractorID == 0 || x.contractorID == contractorID) &&
                                        (statusIDs.Count == 0 || statusIDs.Contains(x.statusID))
                                        );

                    if (number != "")
                    {
                        items = items.ToList().Where(x => x.number != null && x.number.IndexOf(number, StringComparison.CurrentCultureIgnoreCase) >= 0).AsQueryable();
                    }
                }

                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] : "";

                switch (sort1)
                {
                case "number":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.number);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.number);
                    }
                    break;

                case "date":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.date);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.date);
                    }
                    break;

                case "status":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.tsilurik_status.name);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.tsilurik_status.name);
                    }
                    break;

                case "contractor":
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.tsilurik_contractors.name);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.tsilurik_contractors.name);
                    }
                    break;

                default:
                    if (direction1 == "up")
                    {
                        items = items.OrderBy(x => x.date);
                    }
                    else
                    {
                        items = items.OrderByDescending(x => x.date);
                    }
                    break;
                }
                total = items.Count();
                res   = items.Skip(parameters.pageSize * (parameters.page - 1)).Take(parameters.pageSize).ToList();
            }

            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                res = null;
                msg = "Сбой при выполнении операции";
            }

            return(res);
        }