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.
 
 
 
 
 

189 lines
6.4 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CK.SCP.Models.AppBoxEntity;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Utils;
using CK.SCP.Controller;
using FineUI;
namespace SCP.BasicData
{
public partial class SCP_INFO : PageBase
{
public List<V_INFO> _list;
public int num;
public V_INFO ModelInfo;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnadd.OnClientClick = Window1.GetShowReference("../BasicData/SCP_INFO_EDIT.aspx", "新增");
BindINFO();
}
}
public void BindINFO()
{
SearchData(ret => {
if (CurrentUser.RoleList.Contains("供应商"))
{
ret = SetV_INFO(ret);
}
Grid1.RecordCount = ret.Count();
Grid1.DataSource = ret.OrderByDescending("ID");
Grid1.DataBind();
});
}
private IQueryable<V_INFO> SetV_INFO(IQueryable<V_INFO> ret )
{
string name = GetIdentityName();
User modelUsers = DB.Users.FirstOrDefault(p => p.Name == name);
VenderUsers vu = null;
TA_VENDER tv = null;
if (modelUsers != null)
{
vu = DB.VenderUsers.FirstOrDefault(p => p.UserId == modelUsers.ID);
if (vu != null)
{
tv = SCPDB.TA_VENDER.FirstOrDefault(p => p.VendId == vu.VenderId);
}
//_info.SupplierCode = vu.VenderId;
}
foreach (V_INFO info in ret)
{
if (!string.IsNullOrEmpty(info.UserName) && !info.UserName.Equals(name))
{
if(!string.IsNullOrEmpty(info.SupplierCode) && info.SupplierCode.Contains(vu.VenderId))
{
if (tv != null)
{
info.SupplierName = tv.VendName;
}
}
}
}
return ret;
}
protected void btnClose_OnClick(object sender, EventArgs e)
{
gp1.Hidden = true;
}
//查寻
protected void Button1_OnClick(object sender, EventArgs e)
{
BindINFO();
}
public void SearchData(Action<IQueryable<V_INFO>> p_action)
{
V_INFO _info = new V_INFO();
_info.Title = txtTitle.Text;
_info.InfoType = txtInfoType.Text;
_info.SupplierName = txtSupplierName.Text;
_info.UserName = txtUserName.Text;
_info.SupplierCode = txtVendID.Text;
//如果是供应商角色,只能看到自己发布的和发给自己的,
//同时发给自己的信息里,只能看到供应商的名称是自己名字,不能有其它供应商名字
if (CurrentUser.RoleList.Contains("供应商"))
{
string name = GetIdentityName();
User modelUsers = DB.Users.FirstOrDefault(p => p.Name == name);
if (modelUsers != null)
{
VenderUsers vu = DB.VenderUsers.FirstOrDefault(p => p.UserId == modelUsers.ID);
if (vu != null)
{
_info.SupplierCode = vu.VenderId;
}
}
if (string.IsNullOrEmpty(_info.UserName))
{
_info.UserName = name;
}
}
SCP_INFO_CONTROLLER.Get_V_INFO_List(_info, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
p_action(ret.Result);
}
});
}
protected void btnShow_OnClick(object sender, EventArgs e)
{
gp1.Hidden = false;
}
//删除
protected void btnDelete_OnClick(object sender, EventArgs e)
{
string name = GetIdentityName();
User modelUsers = DB.Users.FirstOrDefault(p => p.Name == name);
int id = GetSelectedDataKeyID(Grid1);
ModelInfo = SCP_INFO_CONTROLLER.GetInfoByBillNo(id);
if (ModelInfo != null)
{
if (modelUsers != null && ModelInfo.UserName != name)
{
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("只能删除自己发布的信息"));
return;
}
}
string ret = "";
ret += Grid1.GetNoSelectionAlertReference("请选择要删除的记录(可以多行)!");
ret += "if(!confirm('是否要删除选择的记录?'))return;";
PageContext.RegisterStartupScript(ret);
SCP_INFO_CONTROLLER.DeleteById(id);
PageContext.Refresh();
}
//修改
protected void btnEdit_OnClick(object sender, EventArgs e)
{
string roleID = GetSelectedDataKey(Grid1, 0);
string name = GetIdentityName();
int id = Convert.ToInt32(roleID);
//int id = GetSelectedDataKeyID(Grid1);
//string varString = Convert.ToString(id);
//varString = Convert.ToString(roleID);
V_INFO modelPublicData = SCP_INFO_CONTROLLER.GetInfoByBillNo(id);
if (modelPublicData.UserName != name)
{
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("只能修改自己发布的信息"));
return;
}
string url = String.Format("../BasicData/SCP_INFO_EDIT.aspx?ID={0}", roleID);
PageContext.RegisterStartupScript(Window1.GetShowReference(url, "修改"));
}
protected void Grid1_OnRowDoubleClick(object sender, GridRowClickEventArgs e)
{
string roleID = GetSelectedDataKey(Grid1, 1);
string url = String.Format("../BasicData/SCP_INFO_EDIT.aspx?ID={0}", roleID);
PageContext.RegisterStartupScript(Window1.GetShowReference(url, "修改"));
}
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindINFO();
}
}
}