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.
99 lines
3.6 KiB
99 lines
3.6 KiB
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain.Entity.ProductManage;
|
|
using NFine.Domain.IRepository.ProductManage;
|
|
using NFine.Repository.ProductManage;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
|
|
namespace NFine.Application.ProductManage
|
|
{
|
|
public class DiscountRateApp
|
|
{
|
|
private IICSDiscountRateRepository service = new DiscountRateRepository();
|
|
|
|
public List<ICSDiscountRateEntity> GetList(Pagination pagination, string queryJson)
|
|
{
|
|
var expression = ExtLinq.True<ICSDiscountRateEntity>();
|
|
var queryParam = queryJson.ToJObject();
|
|
if (!queryParam["keyword"].IsEmpty())
|
|
{
|
|
string keyword = queryParam["keyword"].ToString();
|
|
expression = expression.And(t => t.CusCode.Contains(keyword));
|
|
}
|
|
expression = expression.And(t => t.CusCode != "RapaPort");
|
|
return service.FindList(expression, pagination).OrderBy(t => t.CusCode).ThenBy(t => t.WHType)
|
|
.ThenBy(t => t.StartValue).ToList();
|
|
}
|
|
|
|
public DataTable GetListForCustomer()
|
|
{
|
|
DataTable dt = new DataTable();
|
|
string sql = @"SELECT F_CusCode,F_CusName FROM Sys_Customer WHERE F_CusCode
|
|
NOT IN (SELECT DISTINCT CusCode FROM ICSDiscountRate WHERE CusCode <> 'RapaPort')";
|
|
dt = SqlHelper.GetDataTableBySql(sql);
|
|
if (dt == null || dt.Rows.Count <= 0)
|
|
throw new Exception("No exportable data.");
|
|
return dt;
|
|
}
|
|
|
|
public List<ICSDiscountRateEntity> GetList2(Pagination pagination, string queryJson)
|
|
{
|
|
var expression = ExtLinq.True<ICSDiscountRateEntity>();
|
|
var queryParam = queryJson.ToJObject();
|
|
if (!queryParam["keyword"].IsEmpty())
|
|
{
|
|
string keyword = queryParam["keyword"].ToString();
|
|
expression = expression.And(t => t.CusCode.Contains(keyword));
|
|
}
|
|
expression = expression.And(t => t.CusCode == "RapaPort");
|
|
return service.FindList(expression, pagination).OrderBy(t => t.CusCode).ThenBy(t => t.WHType)
|
|
.ThenBy(t => t.StartValue).ToList();
|
|
}
|
|
|
|
public ICSDiscountRateEntity GetForm(string keyValue)
|
|
{
|
|
return service.FindEntity(keyValue);
|
|
}
|
|
|
|
public void DeleteForm(string keyValue)
|
|
{
|
|
ICSDiscountRateEntity entity = service.FindEntity(t => t.F_Id == keyValue);
|
|
service.Delete(t => t.CusCode == entity.CusCode);
|
|
//service.Delete(t => t.F_Id == keyValue);
|
|
}
|
|
|
|
public void SubmitForm(ICSDiscountRateEntity productEntity, string keyValue)
|
|
{
|
|
if (!string.IsNullOrEmpty(keyValue))
|
|
{
|
|
productEntity.Modify(keyValue);
|
|
service.Update(productEntity);
|
|
}
|
|
else
|
|
{
|
|
productEntity.Create();
|
|
service.Insert(productEntity);
|
|
}
|
|
}
|
|
|
|
public void SubmitForm(List<ICSDiscountRateEntity> discountrateListEntity, string keyValue)
|
|
{
|
|
foreach (ICSDiscountRateEntity discountrateEntity in discountrateListEntity)
|
|
{
|
|
if (!string.IsNullOrEmpty(keyValue))
|
|
{
|
|
discountrateEntity.Modify(keyValue);
|
|
service.Update(discountrateEntity);
|
|
}
|
|
else
|
|
{
|
|
discountrateEntity.Create();
|
|
service.Insert(discountrateEntity);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|