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); }
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); } }
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); }
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); } }
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); }