You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
6.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/////////////////////////////////////////////////////////////////
//
// (C) Copyright 2013, Kenneth, Inc.
// All rights reserved. Confidential. Except as pursuant
// to a written agreement with Kenneth, this software may
// not be used or distributed. This software may be covered
// by one or more patents.
//
// 本软件为Kenneth开发版权所有违者必究32032519810221811023810511@qq.com
//
/////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using BaseEntity;
using BaseCommon;
using BaseResource;
using Newtonsoft.Json;
namespace WebBusiness
{
public class {ClassName}Pool : PoolInterface
{
private static List<{ClassName}Entity> bufferPool = new List<{ClassName}Entity>();
public static List<{ClassName}Entity> BufferPool
{
get { return bufferPool; }
}
public static void InitializeResults()
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from {TableName} t where IsActive = 1");
var results = SqlHelper.DataTableToIList<{ClassName}Entity>(dt) as List<{ClassName}Entity>;
lock (bufferPool)
{
bufferPool.Clear();
bufferPool.AddRange(results);
}
}
public static void Update({ClassName}Entity key)
{
lock (bufferPool)
{
if(key != null)
{
bufferPool.RemoveAll(q => q.RecId == key.RecId);
bufferPool.Add(({ClassName}Entity)key.Clone());
}
}
}
public static void Delete(string recid)
{
lock (bufferPool)
{
bufferPool.RemoveAll(q => q.RecId == recid);
}
}
public static string GetNameById(string recid)
{
return bufferPool.FirstOrDefault(t => t.RecId == recid)?.{QueryField2};
}
public static {ClassName}Entity GetById(string recid)
{
return bufferPool.FirstOrDefault(t => t.RecId == recid);
}
public static {ClassName}Entity GetByCode(string code)
{
return bufferPool.FirstOrDefault(t => t.{QueryField1} == code);
}
public static string LoadValidationByKey(string currentUserId, string currentStoreId, string currentSendParameter)
{
string key = currentSendParameter;
var datas = bufferPool.Where(q => key == "" || q.{QueryField1}.Contains(key) || q.{QueryField2}.Contains(key))
.Select(item => new
{
RecId = item.RecId,
Code = item.{QueryField1},
Name = item.{QueryField2}
}).OrderBy(o => o.Code).ToList();
OutEntity oe = new OutEntity() { ErrorCode = ErrorCode.Success, ReturnObj = JsonConvert.SerializeObject(datas) };
return JsonConvert.SerializeObject(oe);
}
{OpenLoadSelections}/*
public static string LoadSelections(string currentUserId, string currentStoreId, string currentSendParameter)
{
PagerEntity se = JsonConvert.DeserializeObject(currentSendParameter, typeof(PagerEntity)) as PagerEntity;
List<ConditionEntity> ce = JsonConvert.DeserializeObject(se.Conditions, typeof(List<ConditionEntity>)) as List<ConditionEntity>;
string keyword = ce.Where(q => q.Name.Equals("KeyWord1")).FirstOrDefault()?.Value.ToLower();
//string keyword2 = ce.Where(q => q.Name.Equals("KeyWord2")).FirstOrDefault()?.Value.ToLower();
string dateFrom = ce.Where(q => q.Name.Equals("DateFrom")).FirstOrDefault()?.Value;
string dateTo = ce.Where(q => q.Name.Equals("DateTo")).FirstOrDefault()?.Value;
//string selectType = ce.Where(q => q.Name.Equals("SelectType")).FirstOrDefault()?.Value;
//string[] types = selectType.Split('_');
DateTime dtStart;
DateTime dtEnd;
if (!DateTime.TryParse(dateFrom, out dtStart))
dtStart = new DateTime(1900, 1, 1);
if (!DateTime.TryParse(dateTo, out dtEnd))
dtEnd = new DateTime(2100, 1, 1);
var data = bufferPool.Where(q => keyword == "" || q.{QueryField1}.Contains(keyword) || q.{QueryField2}.Contains(keyword))
.AsQueryable().OrderBy(se.OrderBy, se.SortOrder);
int count = data.Count();
var result = new
{
total = Math.Ceiling(count * 1.0 / se.Rows),
page = se.PageIndex,
records = count,
rows = data.Skip((se.PageIndex - 1) * se.Rows).Take(se.Rows).Select(buffer => new SelectionEntity()
{
RecId = buffer.RecId,
SelectCode = buffer.{QueryField1},
SelectName = buffer.{QueryField2},
SelectDetail = string.Empty,
CreateTime = buffer.CreateTime,
ModifyTime = buffer.ModifyTime
})
};
OutEntity oe = new OutEntity() { ErrorCode = ErrorCode.Success, ReturnObj = JsonConvert.SerializeObject(result) };
return JsonConvert.SerializeObject(oe);
}
public static string LoadSelectionText(string currentUserId, string currentStoreId, string currentSendParameter)
{
var buffer = bufferPool.Where(q => q.RecId == currentSendParameter).FirstOrDefault();
if (buffer != null)
{
OutEntity oe = new OutEntity() { ErrorCode = ErrorCode.Success, ReturnObj = JsonConvert.SerializeObject(new SelectionEntity()
{
RecId = buffer.RecId,
SelectCode = buffer.{QueryField1},
SelectName = buffer.{QueryField2},
SelectDetail = string.Empty,
CreateTime = buffer.CreateTime,
ModifyTime = buffer.ModifyTime
}) };
return JsonConvert.SerializeObject(oe);
}
return JsonConvert.SerializeObject(new OutEntity()
{
ErrorCode = ErrorCode.Success,
ReturnObj = JsonConvert.SerializeObject(new SelectionEntity()
{
RecId = "",
SelectCode = "",
SelectName = "",
SelectDetail = string.Empty
})
});
}//*/
}
}