linq获取状态或数量

Continue Read..

html:

<div class="lists-tab-tags01">

                    <a <%=status == "-1"?"class=cur":"" %> href="UnShelveRecordMgr.aspx?status=-1&chestkey=<%=chestkey %>&start=<%=tbStart.Text %>&end=<%=tbEnd.Text %>"

                        title="点击">全部状态(<%=alls %>)</a> |<a <%=status == "0"?"class=cur":"" %> href="UnShelveRecordMgr.aspx?status=0&chestkey=<%=chestkey %>&start=<%=tbStart.Text %>&end=<%=tbEnd.Text %>"

                            title="点击">待下架(<%=news%>)</a> |<a <%=status == "1"?"class=cur":"" %> href="UnShelveRecordMgr.aspx?status=1&chestkey=<%=chestkey %>&start=<%=tbStart.Text %>&end=<%=tbEnd.Text %>"

                                title="点击">处理中(<%=doings%>)</a>|<a <%=status == "3"?"class=cur":"" %> href="UnShelveRecordMgr.aspx?status=3&chestkey=<%=chestkey %>&start=<%=tbStart.Text %>&end=<%=tbEnd.Text %>"

                                    title="点击">已完成(<%=finishs%>)</a>

                </div>

 

后台:

if (!IsPostBack)

        {

            BindUStatusCounts();

        }

 

    #region 下架单状态

    public int alls

    {//全部

        get

        {

            return ViewState["alls"] == null ? 0 : (int)ViewState["alls"];

        }

        set

        {

            ViewState["alls"] = value;

        }

    }

    public int news         //待下架

    {

        get

        {

            return ViewState["news"] == null ? 0 : (int)ViewState["news"];

        }

        set

        {

            ViewState["news"] = value;

        }

    }

    public int doings         //处理中

    {

        get

        {

            return ViewState["doings"] == null ? 0 : (int)ViewState["doings"];

        }

        set

        {

            ViewState["doings"] = value;

        }

    }

    public int finishs         //已完成

    {

        get

        {

            return ViewState["finishs"] == null ? 0 : (int)ViewState["finishs"];

        }

        set

        {

            ViewState["finishs"] = value;

        }

    }

    #endregion

private void BindUStatusCounts()

    {

        #region 搜索条件

 

        if (string.IsNullOrEmpty(this.tbStart.Text) && string.IsNullOrEmpty(this.tbEnd.Text))

        {

            tbStart.Text = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).AddDays(-3).ToString("yyyy-MM-dd");

            tbEnd.Text = DateTime.Now.ToString("yyyy-MM-dd");

        }

 

        if (!string.IsNullOrEmpty(tbStart.Text))

            datest = tbStart.Text;

 

        if (!string.IsNullOrEmpty(tbEnd.Text))

            dateend = tbEnd.Text;

        #endregion

 

        var urss = new UnShelveRecordServices();

        List<UnShelveRecordServices.UStatusCount> usc = urss.GetUStatusCount(string.IsNullOrEmpty(tbStart.Text) ? DateTime.Now.AddHours(-24) : Convert.ToDateTime(tbStart.Text + " 00:00"),

            string.IsNullOrEmpty(tbEnd.Text) ? DateTime.Now.AddHours(24) : Convert.ToDateTime(tbEnd.Text + " 23:59"),

            (string.IsNullOrEmpty(ddl_yg.SelectedValue) ? "0" : ddl_yg.SelectedValue));

 

        #region 状态数量

        //新建

        if (usc.Select(C => C.UStatus == UnShelveState.New.GetHashCode()).Count() > 0)

            news = usc.Where(C => C.UStatus == UnShelveState.New.GetHashCode()).Select(C => C.Count).Sum();

        else

            news = 0;

 

        //处理中

        if (usc.Select(C => C.UStatus == UnShelveState.Processing.GetHashCode()).Count() > 0)

            doings = usc.Where(C => C.UStatus == UnShelveState.Processing.GetHashCode()).Select(C => C.Count).Sum();

        else

            doings = 0;

 

        //已完成

        if (usc.Select(C => C.UStatus == UnShelveState.Finished.GetHashCode()).Count() > 0)

            finishs = usc.Where(C => C.UStatus == UnShelveState.Finished.GetHashCode()).Select(C => C.Count).Sum();

        else

            finishs = 0;

 

        alls = news + doings + finishs;

        #endregion

    }

 

linq:

/// <summary>

        /// 下架单状态,数量

        /// </summary>

        public class UStatusCount

        {

            public UStatusCount() { }

            public UStatusCount(int ustatus, int count)

            {

                this.UStatus = ustatus;

                this.Count = count;

            }

            public int UStatus { get; set; }

            public int Count { get; set; }

 

        }

 

        /// <summary>

        /// 获取下架单状态数量方法

        /// </summary>

        public List<UStatusCount> GetUStatusCount(DateTime dtFrom, DateTime dtTo, string key)

        {

            MS_Entities entities = MyDynEntities;

 

            var result = entities.UnShelveRecord.Join(entities.Chest, c => c.ChestKey, x => x.ChestKey, (usr, ch) => new { usr, ch })

                .Where(c => c.usr.UnShelveTime >= dtFrom && c.usr.UnShelveTime <= dtTo && c.ch.ChestType != -1);

            if (key != "0")

                result = result.Where(c => c.usr.ChestKey.Contains(key));

 

            var ag = result.GroupBy(c => new { c.usr.State });

            List<UStatusCount> usc = new List<UStatusCount>();

 

            foreach (var a in ag)

            {

                usc.Add(new UStatusCount(a.Key.State.Value, a.Count()));

            }

 

            return usc;

        }


声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

分页获取数据列表

Continue Read..

html:

<div class="lists-table">

                    <table cellpadding="0" cellspacing="0" border="0">

                        <thead>

                            <tr>

                                <th class="tabSort-header">

                                    <a class="tabSort-header-inner" list="name">

                                        <p>

                                            下架单号 <span class="sort"></span>

                                        </p>

                                    </a>

                                </th>

                                <th class="tabSort-header">

                                    <a class="tabSort-header-inner" list="ip">

                                        <p>

                                            药柜名称<span class="sort"></span></p>

                                    </a>

                                </th>

                                <th class="tabSort-header">

                                    <a class="tabSort-header-inner" list="examtimediget">

                                        <p>

                                            操作人<span class="sort"></span></p>

                                    </a>

                                </th>

                                <th class="tabSort-header">

                                    <a class="tabSort-header-inner" list="examtimediget">

                                        <p>

                                            创建时间<span class="sort"></span></p>

                                    </a>

                                </th>

                                <th class="tabSort-header">

                                    <a class="tabSort-header-inner" list="leak">

                                        <p>

                                            状态<span class="sort"></span></p>

                                    </a>

                                </th>

                            </tr>

                        </thead>

                        <tbody id="safeOpr">

                            <asp:Repeater ID="RepeaterUnshelveRe" runat="server" OnItemDataBound="RepeaterUnshelveRe_ItemDataBound">

                                <ItemTemplate>

                                    <tr>

                                        <td>

                                            <a href="UnShelveRecordDetailMgr.aspx?UnShelveRecordKey=<%#Eval("UnShelveRecordKey") %>"><%#Eval("UnShelveRecordNo")%></a>

                                        </td>

                                        <td>

                                            <div class="tdof" title="<%#Eval("NameText")%>" style="width: 250px;">

                                                <%#Eval("NameText")%></div>

                                        </td>

                                        <td>

                                            <%#Eval("OperatorName")%>

                                        </td>

                                        <td><%#Eval("UnShelveTime","{0:yyyy-MM-dd HH:mm}")%></td>

                                        

                                        <td><asp:Label Text='<%#Eval("State") %>' ID="lblState" runat="server"></asp:Label></td>

                                        

                                    </tr>

                                </ItemTemplate>

                            </asp:Repeater>

                        </tbody>

                        <%if (RepeaterUnshelveRe.Items.Count == 0)

                          {%>

                        <tr>

                            <td colspan="6" class="nodata">

                                没有数据可供显示

                            </td>

                        </tr>

                        <%} %>

                    </table>

                </div>

                <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb"

                    EnableTheming="true" FirstPageText="首页" HorizontalAlign="right" LastPageText="尾页"

                    NextPageText="下一页" PageIndexBoxType="DropDownList" PageSize="15" PrevPageText="上一页"

                    ShowPageIndexBox="Always" TextBeforePageIndexBox="跳转到: " UrlPaging="false" Width="100%"

                    OnPageChanged="PageChanged">

                </webdiyer:AspNetPager>

 

后台方法:

if (!IsPostBack)

        {

            SelectUSR();

        }

private void SelectUSR()

    {

        var usrs = new UnShelveRecordServices();

        int count = 0;

        AnesMS.DataModel.Entity.UnShelveState? unshelState = null;

 

        if (status != "-1")

        {

            int usrstatus = 0;

            int.TryParse(status, out usrstatus);

            unshelState = (AnesMS.DataModel.Entity.UnShelveState)usrstatus;

        }

 

        if (!string.IsNullOrEmpty(ddl_yg.SelectedValue))

        {

            chestkey = ddl_yg.SelectedValue;

        }

 

        var ds = usrs.GetUnShelveRecordList((string.IsNullOrEmpty(ddl_yg.SelectedValue) ? "0" : ddl_yg.SelectedValue),

            unshelState,

            string.IsNullOrEmpty(tbStart.Text) ? DateTime.Now.AddHours(-24) : Convert.ToDateTime(tbStart.Text + " 00:00"),

            string.IsNullOrEmpty(tbEnd.Text) ? DateTime.Now.AddHours(24) : Convert.ToDateTime(tbEnd.Text + " 23:59"),

            out count, (IsPostBack? this.AspNetPager1.CurrentPageIndex:pagenum), this.AspNetPager1.PageSize);

 

        if (ds == null) return;

        //分页控件初始参数

        this.AspNetPager1.RecordCount = count;

        if (IsPostBack)

            pagenum = this.AspNetPager1.CurrentPageIndex;

 

        if (ds != null && ds.Count > 0)

        {

            RepeaterUnshelveRe.DataSource = ds;

        }

        RepeaterUnshelveRe.DataBind();

    }

 

    protected void RepeaterUnshelveRe_ItemDataBound(object sender, RepeaterItemEventArgs e)

    {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

        {

            DataRowView drv = e.Item.DataItem as DataRowView;

            

            //获取状态

            ((Label)e.Item.FindControl("lblState")).Text = GetEnumDesc(typeof(UnShelveState), Enum.Parse(typeof(UnShelveState), ((Label)e.Item.FindControl("lblState")).Text));

            if (((Label)e.Item.FindControl("lblState")).Text == "已完成")

            {

                ((Label)e.Item.FindControl("lblState")).ForeColor = System.Drawing.Color.FromName("#174B73");

            }

            else if (((Label)e.Item.FindControl("lblState")).Text == "待下架")

            {

                ((Label)e.Item.FindControl("lblState")).ForeColor = System.Drawing.Color.Red;

            }

            else if (((Label)e.Item.FindControl("lblState")).Text == "处理中")

            {

                ((Label)e.Item.FindControl("lblState")).ForeColor = System.Drawing.Color.Green;

            }

            else if (((Label)e.Item.FindControl("lblState")).Text == "已下架")

            {

                ((Label)e.Item.FindControl("lblState")).ForeColor = System.Drawing.Color.FromName("#8CC852");

            }

            //else

            //{

            //    ((Label)e.Item.FindControl("lblState")).ForeColor = System.Drawing.Color.FromName("#FF007F");//#FF00FF  8CC852  174B73

            //}

        }

    }

 

    protected void PageChanged(object sender, EventArgs e)

    {

        SelectUSR();

    }

 

linq:

/// <summary>

        /// 下架单页面:列表

        /// </summary>

        public IList<USRChInfo> GetUnShelveRecordList(string chestkey,UnShelveState? state, DateTime dtFrom, DateTime dtTo, out int count, int curPage = 1, int pageSize = 15)

        {

            try

            {

                var entity = MyDynEntities;

                count = 0;

                var status_Int = state.GetHashCode();

 

                IQueryable<USRChInfo> query = entity.UnShelveRecord.Join<UnShelveRecord, Chest, string, USRChInfo>(entity.Chest, x => x.ChestKey, c => c.ChestKey, (x, y) =>

                    new USRChInfo

                    {

                        UnShelveRecordKey=x.UnShelveRecordKey,

                        UnShelveRecordNo = x.UnShelveRecordNo,

                        ChestKey=x.ChestKey,

                        NameText = y.NameText,

                        ChestType=y.ChestType,

                        OperatorKey = x.OperatorKey,

                        OperatorName=x.OperatorName,

                        UnShelveTime = x.UnShelveTime,

                        State = x.State

                    }).Where(c => c.UnShelveTime >= dtFrom && c.UnShelveTime <= dtTo && c.ChestType!=-1);

                if (chestkey != "0")

                    query = query.Where(c => chestkey.Contains(c.ChestKey));

                if (state != null && status_Int!=-1)

                    query = query.Where(c => c.State == status_Int);

                count = query.Count();

                if (curPage > 0 && pageSize > 0)

                {

                    query = query.OrderByDescending(c => c.UnShelveTime).Skip((curPage - 1) * pageSize).Take(pageSize);

                }

                else

                    query = query.OrderByDescending(c => c.UnShelveTime);

 

                var QueryResult = query.OrderByDescending(c=>c.UnShelveTime).ToList();

                return QueryResult;

 

            }

            catch (Exception ex)

            {

                count = 0;

                LogHelper.Instance.CreateLog(ex);

                return null;

            }

        }


 

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

获取两个表的某字段

Continue Read..
info:
public class CChestInfo {
        public string ChestKey { get;set; }
        public string ChestUID { get; set; }
        public int? ChestType { get; set; }
        public string ItemKey { get; set; }
    }

方法:
public IList<CChestInfo> GetChestKeyByItemKey(IList<string> ItemKeys)
        {
            try
            {
                var entity = MyDynEntities;
                IQueryable<CChestInfo> query = entity.CellContent.Join<CellContent, Chest, string, CChestInfo>(entity.Chest, x => x.ChestKey, c => c.ChestKey, (x, y) =>
                    new CChestInfo
                    {
                        ChestKey = x.ChestKey,
                        ItemKey = x.ItemKey,
                        ChestType=y.ChestType,
                        ChestUID = y.ChestUID,                        
                    }).Where(c=>c.ChestType!=-1);
                query = query.Where(c => ItemKeys.Contains(c.ItemKey));
                var QueryResult = query.Distinct().ToList();
                return QueryResult;

            }
            catch (Exception ex)
            {
                LogHelper.Instance.CreateLog(ex);
                return null;
            }
        }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

单条或多条添加

Continue Read..
public UnShelveRecord InsertUnShelveRecord(UnShelveRecord usr)
        {
            using (var entity = MyDynEntities)
            {
                DbTransaction trans = null;
                try
                {
                    entity.Connection.Open();
                    trans = entity.Connection.BeginTransaction();
                    entity.UnShelveRecord.AddObject(usr);
                    entity.SaveChanges();

                    //提交事务
                    trans.Commit();
                    return usr;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                        trans.Rollback();

                    LogHelper.Instance.CreateLog(ex);
                    return null;
                }
            }
        }

        public IList<UnShelveRecord> InsertUnShelveRecord(IList<UnShelveRecord> usrs)
        {
            using (var entity = MyDynEntities)
            {
                DbTransaction trans = null;
                try
                {
                    entity.Connection.Open();
                    trans = entity.Connection.BeginTransaction();
                    usrs.ToList().ForEach(e => entity.UnShelveRecord.AddObject(e));
                    entity.SaveChanges();
                    //提交事务
                    trans.Commit();
                    return usrs;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                        trans.Rollback();

                    LogHelper.Instance.CreateLog(ex);
                    return null;
                }
            }
        }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

获取子表信息

Continue Read..
public IList<UnShelveRecordDetail> GetUnShelveRecordDetail(string usrkey)
        {
            try {
                var entity = MyDynEntities;
                var resultQuery = entity.UnShelveRecordDetail.Where(e => e.UnShelveRecordKey == usrkey).ToList();
                return resultQuery;
            }
            catch (Exception ex)
            {
                LogHelper.Instance.CreateLog(ex);
                return null;
            }
        }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

Linq info/List<info>的两种方法

Continue Read..
1.info/List<info>的获取
public Chest GetChestInfoByChestKey(long chestKey)
        {
            using (var entity = MyDynEntities)
            {
                var resultQuery = entity.Chest.FirstOrDefault(e => e.ChestKey == chestKey);
                return resultQuery;
            }
        }

        public IList<Drawer> GetDrawerByChestKey(long chestKey)
        {
            using (var entity = MyDynEntities)
            {
                var resultQuery = entity.Drawer.Where(e => e.ChestKey == chestKey).ToList();
                return resultQuery;
            }
        }

2.info/List<info>的新增
public Chest InsertChest(Chest chest)
        {
            using (var entity = MyDynEntities)
            {
                DbTransaction trans = null;
                try
                {
                    entity.Connection.Open();
                    trans = entity.Connection.BeginTransaction();
                    entity.Chest.AddObject(chest);
                    entity.SaveChanges();

                    //提交事务
                    trans.Commit();
                    return chest;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                        trans.Rollback();

                    LogHelper.Instance.CreateLog(ex);
                    return null;
                }
            }
        }

        public IList<Drawer> InsertDrawerList(IList<Drawer> drawers)
        {
            using (var entity = MyDynEntities)
            {
                DbTransaction trans = null;
                try
                {
                    entity.Connection.Open();
                    trans = entity.Connection.BeginTransaction();
                    drawers.ToList().ForEach(e => entity.Drawer.AddObject(e));
                    entity.SaveChanges();
                    //提交事务
                    trans.Commit();
                    return drawers;
                }
                catch (Exception ex)
                {
                    if (trans != null)
                        trans.Rollback();

                    LogHelper.Instance.CreateLog(ex);
                    return null;
                }
            }
        }

以下是调用:
ChestKey = Request.QueryString["ChestKey"];
        IChestService _chestService = new ChestService();

        var oldChest = _chestService.GetChestInfoByChestKey(Convert.ToInt64(ChestKey));
        var oldDrawerList = _chestService.GetDrawerByChestKey(Convert.ToInt64(ChestKey));

//柜子
        oldChest.NameText = tbChestName.Text;
        oldChest.ChestUID = tbChestUID.Text;
        oldChest.SectionKey = int.Parse(hsectionKey.Value);
        oldChest.SectionName = tbSection.Value;

        var newChest = new Chest
                           {
                               ChestType = oldChest.ChestType,
                               ChestUID = oldChest.ChestUID,
                               NameText = oldChest.NameText,
                               ChestID = oldChest.ChestID,
                               SectionKey = oldChest.SectionKey,
                               SectionName = oldChest.SectionName,
                               CountOfDraw = oldChest.CountOfDraw,
                               IPAddress = oldChest.IPAddress,
                               DescText = oldChest.DescText,
                               State = oldChest.State,
                               ParentChestKey = oldChest.ParentChestKey,
                               CreatedActorKey = user.UserAccountKey,
                               CreatedLocalDtm = DateTime.Now,
                               LastModifiedActorKey =user.UserAccountKey,
                               LastModifiedLocalDtm = DateTime.Now,
                           };
        //验证柜子
        if (_chestService.IsExistChest(newChest))
        {
            Lsavemsg.ForeColor = Color.Red;
            Lsavemsg.Text = "同一科室里已存在相同的编号或药柜名称!请重新选择!";
            return;
        }
        else
        {
            Lsavemsg.Text = ""; 
        }

        newChest = _chestService.InsertChest(newChest);

        //抽屉
        var newDrawList = new List<Drawer>();
        oldDrawerList.ToList().ForEach(d => newDrawList.Add(new Drawer
                                                               {
                                                                   ChestKey = newChest.ChestKey,
                                                                   DrawerType = d.DrawerType,
                                                                   DrawerUID = d.DrawerUID,
                                                                   NameText = d.NameText,
                                                                   Height = d.Height,
                                                                   UnitID = d.UnitID,
                                                                   SortNo = d.SortNo,
                                                                   DescText = d.DescText,
                                                                   State = d.State,
                                                                   CreatedActorKey = user.UserAccountKey,
                                                                   CreatedLocalDtm = DateTime.Now,
                                                                   LastModifiedActorKey = user.UserAccountKey,
                                                                   LastModifiedLocalDtm = DateTime.Now,
                                                                   RescueStorage = d.RescueStorage,
                                                               }));
        newDrawList = _chestService.InsertDrawerList(newDrawList).ToList();

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

linq 示例

Continue Read..
1.需求:更新虚拟柜的药品的批号信息和库存
public Boolean UpdateItemStockBatchNoInfo(ApplyRecordInfo info)
        {
            DbTransaction trans = null;
            MS_Entities entities = MyDynEntities;
            try
            {
                entities.Connection.Open();
                trans = entities.Connection.BeginTransaction();
                if (info.ApplyRecordDetailList != null && info.ApplyRecordDetailList.Count > 0)
                {
                    foreach (var item in info.ApplyRecordDetailList)
                    {
                        if (item.ApplyRecordDetailItemInfoList == null || item.ApplyRecordDetailItemInfoList.Count < 1)
                            continue;

                        foreach (var item1 in item.ApplyRecordDetailItemInfoList)
                        {
                            long? sectionKey = info.SectionKey;
                            long? ItemKey = item1.ItemKey;
                            long? ChestKey = 0;
                            long? CellKey = 0;
                            long? CellContentKey = 0;
                            string BatchNo = item1.BatchNo;

                            //找虚拟柜的CellKey
                            var ccq = entities.Chest.Join(entities.Cell, C => C.ChestKey, C => C.ChestKey, (Chest, Cell) => new { Chest.SectionKey, Chest.ChestKey, Chest.ChestType, Cell.CellKey }).Where(x => x.ChestType == -1 && x.SectionKey == sectionKey);

                            if (ccq.Count() > 0)
                            {
                                var acc = ccq.FirstOrDefault();
                                CellKey = acc.CellKey;
                                ChestKey = acc.ChestKey;
                                //找CellContentKey
                                var ccnu = entities.CellContent.Where(C => C.CellKey == CellKey && C.ItemKey == ItemKey);
                                if (ccnu.Count() > 0)
                                {
                                    var accnu = ccnu.FirstOrDefault();
                                    CellContentKey = accnu.CellContentKey;

                                    //先通过CellContentKey和BatchNo查找ItemStockBatchNo,如果有,则更新;否则就新增
                                    ItemStockBatchNo isbnmodel = entities.ItemStockBatchNo.FirstOrDefault(C => C.CellContentKey == CellContentKey && C.BatchNo == BatchNo);

                                    if (isbnmodel != null)
                                    {
                                        //通过CellContentKey,更新ItemStockBatchNo信息
                                        isbnmodel.Amount = isbnmodel.Amount + item1.Amount;
                                        isbnmodel.LastModifiedActorKey = item1.CreateInfo.LastModifiedActorKey;
                                        isbnmodel.LastModifiedLocalDtm = DateTime.Now;
                                    }
                                    else
                                    {
                                        //通过CellContentKey,新增ItemStockBatchNo信息
                                        ItemStockBatchNo isbninfo = new ItemStockBatchNo();
                                        isbninfo.CellContentKey = CellContentKey;
                                        isbninfo.BatchNo = item1.BatchNo;
                                        isbninfo.ExpiryDate = item1.ExpiryDate;
                                        isbninfo.Amount = item1.Amount;
                                        isbninfo.LastModifiedActorKey = item1.CreateInfo.LastModifiedActorKey;
                                        isbninfo.LastModifiedLocalDtm = DateTime.Now;
                                        entities.AddToItemStockBatchNo(isbninfo);
                                    }
                                }
                            }
                        }
                    }
                }

                entities.SaveChanges();

                //提交事务
                trans.Commit();
                return true;
            }
            catch (Exception ex)
            {
                if (trans != null)
                {
                    LogHelper.Instance.CreateLog(ex);
                    trans.Rollback();
                }
                return false;
            }
            finally
            {
                if (entities != null && entities.Connection.State != ConnectionState.Closed)
                    entities.Connection.Close();
            }

        }

获取数据
2.public PatientAnesPlan GetSingleAnesMethodPlan(string TemplateName)
        {
            using (var entity = MyDynEntities)
            {
                if (TemplateName != "")
                {
                    try
                    {
                        return entity.PatientAnesPlan.Single(C => C.TemplateName == TemplateName);
                    }
                    catch (Exception)
                    {
                        return null;
                    }
                }
                return null;
            }
        }


3.public List<PatientDrugPlan> GetAllPatientDrugPlans(long PatientAnesPlanKey)
        {
            return
                    MyDynEntities.PatientDrugPlan.Where(C => C.PatientAnesPlanKey == PatientAnesPlanKey).ToList
                        <PatientDrugPlan>();
        }
4.public List<PatientAnesPlan> GetPatientAnesPlanTemplateList()
        {
            try
            {
                var entity = MyDynEntities;
                return entity.PatientAnesPlan.Where(c => c.TemplateName != "" && c.TemplateName != null).ToList();
            }
            catch (Exception ex)
            {
                LogHelper.Instance.CreateLog(ex);
                return null;
            }
        }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权

Linq 新增/修改方法

Continue Read..
linq:
/// <summary>
        /// 保存麻醉前探视评估
        /// </summary>
        /// <param name="PreoperativeVisit">麻醉前探视评估实体</param>
        /// <returns>麻醉前探视评估实体</returns>
        public PreoperativeVisit SavePreoperativeVisit(PreoperativeVisit pov)
        {
            using (var entity = MyDynEntities)
            {
                try
                {
                    entity.Connection.Open();

                    if (pov.PreoperativeVisitKey > 0)
                    {
                        //修改
                        PreoperativeVisit oldPov =
                            entity.PreoperativeVisit.Single(C => C.PreoperativeVisitKey == pov.PreoperativeVisitKey);

                        //个人信息
                        oldPov.BriefHistory = pov.BriefHistory;
                        oldPov.MedicalHistory = pov.MedicalHistory;
                        oldPov.DrugAllergyHistory = pov.DrugAllergyHistory;
                        oldPov.OpeAnesHistory = pov.OpeAnesHistory;
                        oldPov.AnesFamilyHistory = pov.AnesFamilyHistory;
                        oldPov.Obesity = pov.Obesity;
                        oldPov.DrugDependenceHistory = pov.DrugDependenceHistory;
                        oldPov.PhysicalExamination = pov.PhysicalExamination;
                        oldPov.CervicalActivity = pov.CervicalActivity;
                        oldPov.AirwayClassification = pov.AirwayClassification;
                    }
                    else
                        //添加
                        entity.AddToPreoperativeVisit(pov);

                    entity.SaveChanges();
                    return pov;
                }
                catch (Exception)
                {
                    return null;
                }
                finally
                {
                    if (entity != null && entity.Connection.State != ConnectionState.Closed)
                        entity.Connection.Close();
                }
            }
        }

获取方法:
long LPatientOperationKey = 0;
        if (!string.IsNullOrEmpty(Request.Params["PatientKey"]))
        {
            long.TryParse(Request.Params["PatientKey"], out LPatientOperationKey);
            if (LPatientOperationKey < 1)
            {
                ClientScript.RegisterClientScriptBlock(this.GetType(), "goback", "<script>alert('参数错误,请返回上一页。');history.go(-1);</script>");
                return;
            }
        }

        user = (AnesMS.DataModel.User)Session["USER"];

        try
        {
            poi = ps.GetPatientOperationByKey(LPatientOperationKey);
            pov = ps.GetSinglePreoperativeVisit(poi.PatientOperationKey);// 通过患者手术Key
        }
        catch (Exception)
        { }

        //提示保存成功
        if (Request.QueryString["y"] == "1")
        {
            Response.Redirect("OperationSchedule.aspx?PatientOperationKey=" + LPatientOperationKey.ToString(), true);
        }
        else if (Request.QueryString["y"] == "2")
            ClientScript.RegisterClientScriptBlock(this.GetType(), "sucess", "<script>alert('保存失败,请重试,如果多次保存失败,请联系技术人员。');</script>");

        if (Page.IsPostBack)
            return;


        if (poi == null)
        {
            ClientScript.RegisterClientScriptBlock(this.GetType(), "goback", "<script>alert('未找到手术信息,请返回上一页。');history.go(-1);</script>");
            return;
        }
        else
        {
            //基本信息
            lblBAVEName.Text = poi.PatientInfo.PatientName;
            namestrlbl = poi.PatientInfo.PatientName;//姓名td的title
            try
            {
                lblBAVEGender.Text = EnumHelper.GetEnumDescription(poi.PatientInfo.Gender);
            }
            catch (Exception)
            { }

            lblBAVEAge.Text = poi.Age;
            lblBAVESection.Text = poi.SectionName;
            lblBAVEBed.Text = poi.Bed;
            lblBAVEInHosNo.Text = poi.InHospitalNO;


            //个人信息
            lblsqzd.Text = poi.DiseaseNames;
            lblsssmc.Text = poi.OperationNames;

            if (pov != null)
            {
                lblWeight.Text = pov.Weight;
                tajybs.Value = pov.BriefHistory;
                txtjwbs.Value = pov.MedicalHistory;
                hid_ywgms.Value = pov.DrugAllergyHistory;
  }
            else if (!string.IsNullOrEmpty(poi.AnesMethodKeys))
            {
                setCBLSeledByVals(poi.AnesMethodKeys.Split(';'), cblAnesMethod);
            }
        }

保存方法:
protected void btnSave_Click(object sender, EventArgs e)
    {
pov.VisitTime = !string.IsNullOrEmpty(txtAneDoctorDate.Text.ToString()) ? Convert.ToDateTime(txtAneDoctorDate.Text.ToString()) : DateTime.Now;

        pov.PatientOperationKey = poi.PatientOperationKey;
        pov.LastModifiedActorKey = user.UserAccountKey;
        pov.LastModifiedLocalDtm = DateTime.Now;

        pov = ps.SavePreoperativeVisit(pov);

        Response.Redirect("OperationSchedule.aspx?key=" + key + "&PatientOperationKey=" + poi.PatientOperationKey + "&pagenum=" + pagenum + "&PSectionKey=" + PSectionKey + "&PaName=" + Server.UrlEncode(PaName) + "&ReKey=" + ReKey + "&LoKey=" + LoKey + "&datest=" + datest + "&dateend=" + dateend + "&y=1&title=" + Server.UrlEncode(title));
    }

声明:此文系舞林cuznwww.wulinlw.org)原创稿件,转载请保留版权