public OrderStageEntity GetOrderStageByID(string stageid, string processid, string agentid, string clientid) { if (string.IsNullOrEmpty(stageid) || string.IsNullOrEmpty(processid)) { return null; } var list = GetOrderStages(processid, agentid, clientid); if (list.Where(m => m.StageID == stageid).Count() > 0) { return list.Where(m => m.StageID == stageid).FirstOrDefault(); } OrderStageEntity model = new OrderStageEntity(); DataSet ds = SystemDAL.BaseProvider.GetOrderStageByID(stageid); if (ds.Tables["Stages"].Rows.Count > 0) { model.FillData(ds.Tables["Stages"].Rows[0]); model.Owner = OrganizationBusiness.GetUserByUserID(model.OwnerID, agentid); model.StageItem = new List<StageItemEntity>(); foreach (DataRow itemdr in ds.Tables["Items"].Rows) { StageItemEntity item = new StageItemEntity(); item.FillData(itemdr); model.StageItem.Add(item); } OrderStages[clientid].Add(model); } return model; }
public List<OrderStageEntity> GetOrderStages(string processid, string agentid, string clientid) { if (OrderStages.ContainsKey(processid)) { return OrderStages[processid].OrderBy(m => m.Sort).ToList(); } List<OrderStageEntity> list = new List<OrderStageEntity>(); DataSet ds = SystemDAL.BaseProvider.GetOrderStages(processid); foreach (DataRow dr in ds.Tables["Stages"].Rows) { OrderStageEntity model = new OrderStageEntity(); model.FillData(dr); model.MarkStr = CommonBusiness.GetEnumDesc<EnumOrderStageMark>((EnumOrderStageMark)model.Mark); model.Owner = OrganizationBusiness.GetUserByUserID(model.OwnerID, agentid); //model.StageItem = new List<StageItemEntity>(); //foreach (DataRow itemdr in ds.Tables["Items"].Select("StageID='" + model.StageID + "'")) //{ // StageItemEntity item = new StageItemEntity(); // item.FillData(itemdr); // model.StageItem.Add(item); //} list.Add(model); } OrderStages.Add(processid, list); return list; }