示例#1
0
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public static List<string> LAYDSACH_IDKHOTHUOC_CHAN()
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {
              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien));

              }
              if (sqlQuery.HasWhere)
              sqlQuery.And(TDmucKho.Columns.KieuKho).In(lstKhochan);
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KieuKho).In(lstKhochan);
              }
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
              sqlQuery.And(TDmucKho.Columns.LaTuthuoc).IsEqualTo(0);
              sqlQuery.And(TDmucKho.Columns.LoaiKho).IsEqualTo(0);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              if (m_dtKhoThuoc.Rows.Count <= 0) return new List<string>();
              return m_dtKhoThuoc.AsEnumerable().Select(c => c.Field<string>(TDmucKho.Columns.IdKho)).ToList<string>();
        }
 void cboService_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         SqlQuery _SqlQuery = new Select().From(VDmucDichvuclsChitiet.Schema);
         if (Utility.Int32Dbnull(cboService.SelectedValue, -1) > -1)
             _SqlQuery.Where(VDmucDichvuclsChitiet.Columns.IdDichvu).IsEqualTo(Utility.Int32Dbnull(cboService.SelectedValue, -1));
          dsTable=   _SqlQuery.OrderAsc(VDmucDichvuclsChitiet.Columns.SttHthi).ExecuteDataSet().Tables[0];
          Utility.SetDataSourceForDataGridEx(grdServiceDetail, dsTable, true, true, "id_cha<=0", DmucDichvuclsChitiet.Columns.SttHthi + "," + DmucDichvuclsChitiet.Columns.TenChitietdichvu);
     }
     catch
     {
     }
 }
示例#3
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dauphancach"></param>
        /// <returns></returns>
        public static string LAYDSACH_MAKHOTHUOC_LE_NOITRU(string dauphancach)
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {
              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien));

              }
              if (sqlQuery.HasWhere)
              sqlQuery.And(TDmucKho.Columns.KieuKho).In(lstKhole);
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KieuKho).In(lstKhole);
              }
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
              sqlQuery.And(TDmucKho.Columns.LoaiKho).IsEqualTo(0);
              sqlQuery.And(TDmucKho.Columns.LaTuthuoc).IsEqualTo(0).And(TDmucKho.Columns.LoaiBnhan).In(lstKhoNoitru);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              if (m_dtKhoThuoc.Rows.Count <= 0) return "";
              return string.Join(dauphancach, m_dtKhoThuoc.AsEnumerable().Select(c => c.Field<string>(TDmucKho.Columns.MaKho)).ToList<string>().ToArray());
        }
示例#4
0
        /// <summary>
        /// Handles the <see cref="E:System.Web.UI.Control.Init"/> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs"/> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if(!DesignMode)
            {
                // load em up
                // cheap way to check for load state
                if(Items.Count == 0)
                {
                    if(!String.IsNullOrEmpty(tableName))
                    {
                        DataProvider provider = DataService.GetInstance(ProviderName);
                        SqlQuery q = new Select(provider).From(tableName);
                        q.CheckLogicalDelete();

                        if(String.IsNullOrEmpty(valueField) || String.IsNullOrEmpty(textField))
                        {
                            // look it up using the table schema
                            TableSchema.Table tbl = DataService.GetSchema(tableName, providerName, TableType.Table);
                            if(tbl != null)
                            {
                                if(String.IsNullOrEmpty(valueField))
                                    valueField = tbl.PrimaryKey.ColumnName;

                                if(String.IsNullOrEmpty(textField))
                                    textField = tbl.Columns.Count > 1 ? tbl.Columns[1].ColumnName : tbl.Columns[0].ColumnName;
                            }
                            else
                                throw new Exception("Table name '" + tableName + "' using Provider '" + providerName + "' doesn't work");
                        }

                        q.SelectColumnList = new[] {valueField, textField};
                        if(!String.IsNullOrEmpty(OrderField))
                            q.OrderAsc(OrderField);
                        else
                            q.OrderAsc(textField);

                        if(!String.IsNullOrEmpty(WhereField))
                            q.Where(WhereField).IsEqualTo(WhereValue);

                        IDataReader rdr = null;

                        try
                        {
                            rdr = q.ExecuteReader();
                            while(rdr.Read())
                            {
                                ListItem item = new ListItem(rdr[1].ToString(), rdr[0].ToString());
                                Items.Add(item);
                            }
                        }
                        catch(DataException x)
                        {
                            throw new Exception("Error loading up ListItems for " + ClientID + ": " + x.Message);
                        }
                        finally
                        {
                            if(rdr != null)
                                rdr.Close();
                        }

                        ListItem prompt = new ListItem(promptText, PromptValue);
                        if(showPrompt)
                            Items.Insert(0, prompt);

                        if(!String.IsNullOrEmpty(SelectedValue))
                        {
                            foreach(ListItem item in Items)
                            {
                                if(Utility.IsMatch(item.Value, SelectedValue))
                                {
                                    item.Selected = true;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
 void cboloaithuoc_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         if (!m_blnLoaded) return;
        SqlQuery _SqlQuery = new Select().From(VDmucThuoc.Schema);
        if (Utility.Int32Dbnull(cboloaithuoc.SelectedValue, -1) > -1)
            _SqlQuery.Where(VDmucThuoc.Columns.IdLoaithuoc).IsEqualTo(Utility.Int32Dbnull(cboloaithuoc.SelectedValue, -1));
        if (_SqlQuery.HasWhere) _SqlQuery.And(VDmucThuoc.Columns.KieuThuocvattu).IsEqualTo("THUOC");
        else
            _SqlQuery.Where(VDmucThuoc.Columns.KieuThuocvattu).IsEqualTo("THUOC");
        if (!optTatca.Checked)
            _SqlQuery.And(VDmucThuoc.Columns.TrangThai).IsEqualTo(optHieuluc.Checked ? 1 : 0);
        if (!optQhe_tatca.Checked)
            _SqlQuery.And(VDmucThuoc.Columns.CoQhe).IsEqualTo(optCoQhe.Checked ? 1 : 0);
        m_dataThuoc = _SqlQuery.OrderAsc(VDmucThuoc.Columns.SttHthiLoaithuoc).ExecuteDataSet().Tables[0];
        Utility.SetDataSourceForDataGridEx(grdList, m_dataThuoc, true, true, "1=1", VDmucThuoc.Columns.SttHthiLoaithuoc +","+ DmucThuoc.Columns.TenThuoc);
        grdList.MoveFirst();
        grdList_SelectionChanged(grdList, e);
        if (!Utility.isValidGrid(grdList))
            grdQhe.DataSource = null;
     }
     catch
     {
     }
 }
示例#6
0
        /// <summary>
        /// Loads the grid.
        /// </summary>
        private void LoadGrid()
        {
            if(String.IsNullOrEmpty(tableName))
                throw new ArgumentException("No tableName property set - please be sure to set the name of the table or view you'd like to see", tableName);

            DecideSortDirection();

            //load the data
            DataProvider provider = DataService.GetInstance(ProviderName);
            SqlQuery q = new Select(provider).From(tableName);

            //set the select list
            StringBuilder selectList = new StringBuilder("*");
            if(!String.IsNullOrEmpty(columnList))
            {
                selectList = new StringBuilder();
                for(int i = 0; i < colList.Count; i++)
                {
                    selectList.Append(colList[i].ToString().Trim());
                    if(i + 1 < colList.Count)
                        selectList.Append(",");
                }
            }

            q.SelectColumnList = selectList.ToString().Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);

            //sorting
            if(!String.IsNullOrEmpty(sortBy))
            {
                TableSchema.TableColumn col = provider.GetTableSchema(tableName, TableType.Table).GetColumn(sortBy);
                if(col != null && col.MaxLength < 2048 && col.DataType != DbType.Binary && col.DataType != DbType.Byte)
                {
                    if(String.IsNullOrEmpty(sortDirection) || sortDirection.Trim() == SqlFragment.ASC.Trim())
                        q.OrderAsc(sortBy);
                    else
                        q.OrderDesc(sortBy);
                }
            }

            //paging
            if(pageSize > 0)
            {
                q.Paged(pageIndex, pageSize);
                ddlPages.SelectedValue = pageIndex.ToString();
            }

            //honor logical deletes
            q.CheckLogicalDelete();

            //where
            if(!String.IsNullOrEmpty(whereExpression))
                q.WhereExpression(whereExpression);

            SqlQueryBridge.AddLegacyWhereCollection(q, whereCollection);

            DataSet ds = q.ExecuteDataSet();

            if(ds.Tables.Count > 0)
                dataSource = ds.Tables[0];
            else
                throw new Exception("Bad query - no data returned. Did you set the correct provider?");

            EnsureTotals(q);
            //set the buttons
            SetPagingButtonState();
            //create a table
            BuildRows();
        }
示例#7
0
 public static DataTable LoadNhomDichVu(bool hienthi)
 {
     SqlQuery sqlQuery = new Select().From<DmLoaiDichVu>();
     if (hienthi) sqlQuery.Where(DmLoaiDichVu.Columns.HienThi).IsEqualTo(true);
     sqlQuery.OrderAsc(DmLoaiDichVu.Columns.Stt);
     return sqlQuery.ExecuteDataSet().Tables[0];
 }
示例#8
0
 public static DataTable LAYTHONGTIN_KHOTHUOC_TOANBO_LE()
 {
     DataTable m_dtKhoThuoc = new DataTable();
       SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
       sqlQuery.Where(TDmucKho.Columns.KieuKho).In(lstKhole);
       sqlQuery.And(TDmucKho.Columns.LaTuthuoc).IsEqualTo(0);
       sqlQuery.And(TDmucKho.Columns.LoaiKho).IsEqualTo(0);
       sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
       sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
       m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
       return m_dtKhoThuoc;
 }
示例#9
0
        /// <summary>
        /// HÀM THỰC HIỆN LẤY THÔNG TIN KHO LẺ
        /// </summary>
        /// <returns></returns>
        public static DataTable LAYTHONGTIN_KHOTHUOC_LE_TUTRUC_NOITRU()
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {
              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien));

              }
              if (sqlQuery.HasWhere)
              sqlQuery.And(TDmucKho.Columns.KieuKho).In(lstKhole);
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KieuKho).In(lstKhole);
              }
              sqlQuery.And(TDmucKho.Columns.LoaiBnhan).In(lstKhoNoitru);
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
              sqlQuery.And(TDmucKho.Columns.LoaiKho).IsEqualTo(0);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              return m_dtKhoThuoc;
        }
示例#10
0
        /// <summary>
        /// Adds the many to many.
        /// </summary>
        /// <param name="htmlTable">The HTML table.</param>
        private void AddManyToMany(HtmlTable htmlTable)
        {
            foreach(TableSchema.ManyToManyRelationship m2m in ManyToManyCollection)
            {
                TableSchema.Table mapTable = DataService.GetSchema(m2m.MapTableName, ProviderName);
                TableSchema.Table foreignTable = DataService.GetSchema(m2m.ForeignTableName, ProviderName);

                CheckBoxList chk = new CheckBoxList {ID = mapTable.ClassName};
                AddRow(htmlTable, mapTable.DisplayName, chk);
                chk.Items.Clear();
                chk.RepeatColumns = 2;

                bool isSortable = Utility.GetEffectiveMaxLength(foreignTable.Columns[1]) < 256;

                SqlQuery query = new Select(foreignTable.Provider).From(foreignTable);

                if(isSortable)
                    query.OrderAsc(foreignTable.Columns[1].ColumnName);

                using(IDataReader rdrAllMappings = query.ExecuteReader())
                {
                    while(rdrAllMappings.Read())
                        chk.Items.Add(new ListItem(rdrAllMappings[1].ToString(), rdrAllMappings[0].ToString().ToLower()));
                    rdrAllMappings.Close();
                }

                List<string> activeIds = new List<string>();
                SqlQuery queryMappings = new Select(mapTable.Provider).From(mapTable).Where(mapTable.GetColumn(m2m.MapTableLocalTableKeyColumn)).IsEqualTo(PrimaryKeyValue);
                using(IDataReader rdrActiveMappings = queryMappings.ExecuteReader())
                {
                    while(rdrActiveMappings.Read())
                        activeIds.Add(rdrActiveMappings[m2m.MapTableForeignTableKeyColumn].ToString().ToLower());
                    rdrActiveMappings.Close();
                }
                foreach(string id in activeIds)
                {
                    ListItem li = chk.Items.FindByValue(id);
                    if(li != null)
                        li.Selected = true;
                }
            }
        }
示例#11
0
        /// <summary>
        /// Gets the edit control.
        /// </summary>
        /// <param name="tableColumn">The table column.</param>
        /// <returns></returns>
        protected Control GetEditControl(TableSchema.TableColumn tableColumn)
        {
            WebControl cOut = null;
            string colName = tableColumn.ColumnName.ToLower();
            //use special care with the Primary Key
            if(tableColumn.IsPrimaryKey && FindControl(PK_ID + tableColumn.ColumnName) == null)
            {
                //don't want to edit an auto-increment
                if(tableColumn.AutoIncrement || tableColumn.DataType == DbType.Guid)
                    cOut = new Label();
                else
                    cOut = new TextBox();

                cOut.ID = PK_ID + tableColumn.ColumnName;
            }
            else
            {
                bool buildForeignKey = false;
                if(tableColumn.IsForeignKey)
                {
                    DropDownList ddl = new DropDownList();
                    ApplyCssClass(ddl, DropDownCssClass);
                    string fkTableName = tableColumn.ForeignKeyTableName;

                    if(!String.IsNullOrEmpty(fkTableName))
                    {
                        buildForeignKey = true;
                        TableSchema.Table tbl = DataService.GetSchema(fkTableName, ProviderName, TableType.Table);
                        TableSchema.TableColumn displayCol = Utility.GetDisplayTableColumn(tbl);

                        bool isSortable = Utility.GetEffectiveMaxLength(displayCol) < 250;

                        if(tableColumn.IsNullable)
                        {
                            ListItem liNull = new ListItem("(Not Specified)", String.Empty);
                            ddl.Items.Add(liNull);
                        }

                        SqlQuery qry = new Select(tbl.Provider, tbl.Columns[0].ColumnName, displayCol.ColumnName).From(tbl);

                        if(isSortable)
                            qry.OrderAsc(displayCol.ColumnName);

                        using(IDataReader rdr = qry.ExecuteReader())
                        {
                            while(rdr.Read())
                            {
                                ListItem item = new ListItem(rdr[1].ToString(), rdr[0].ToString());
                                ddl.Items.Add(item);
                            }
                            rdr.Close();
                        }
                        cOut = ddl;
                    }
                }
                if(!buildForeignKey)
                {
                    switch(tableColumn.DataType)
                    {
                        case DbType.Guid:
                        case DbType.AnsiString:
                        case DbType.String:
                        case DbType.StringFixedLength:
                        case DbType.Xml:
                        case DbType.Object:
                        case DbType.AnsiStringFixedLength:
                            if(Utility.MatchesOne(colName, ReservedColumnName.CREATED_BY, ReservedColumnName.MODIFIED_BY))
                                cOut = new Label();
                            else
                            {
                                TextBox t = new TextBox();
                                if(Utility.GetEffectiveMaxLength(tableColumn) > 250)
                                {
                                    t.TextMode = TextBoxMode.MultiLine;
                                    t.Columns = 60;
                                    t.Rows = 4;
                                }
                                else
                                {
                                    t.Width = Unit.Pixel(250);
                                    if(colName.EndsWith("guid", StringComparison.InvariantCultureIgnoreCase))
                                    {
                                        t.Text = Guid.NewGuid().ToString();
                                        t.Enabled = false;
                                    }
                                }
                                cOut = t;
                            }
                            break;

                        case DbType.Binary:
                            //do nothing
                            break;
                        case DbType.Boolean:
                            CheckBox chk = new CheckBox();
                            ApplyCssClass(chk, CheckBoxCssClass);
                            if(Utility.IsMatch(colName, ReservedColumnName.IS_ACTIVE))
                                chk.Checked = true;

                            if(Utility.MatchesOne(colName, ReservedColumnName.DELETED, ReservedColumnName.IS_DELETED))
                                chk.Checked = false;

                            cOut = chk;
                            break;

                        case DbType.Date:
                        case DbType.Time:
                        case DbType.DateTime:
                            if(Utility.MatchesOne(colName, ReservedColumnName.MODIFIED_ON, ReservedColumnName.CREATED_ON))
                                cOut = new Label();
                            else
                                cOut = new CalendarControl();
                            break;

                        case DbType.Int16:
                        case DbType.Int32:
                        case DbType.UInt16:
                        case DbType.Int64:
                        case DbType.UInt32:
                        case DbType.UInt64:
                        case DbType.VarNumeric:
                        case DbType.Single:
                        case DbType.Currency:
                        case DbType.Decimal:
                        case DbType.Double:
                        case DbType.Byte:
                            TextBox tt = new TextBox {Width = Unit.Pixel(50)};
                            //if (!this.isNew)
                            //tt.Text = this.GetColumnValue(col.ColumnName).ToString();
                            cOut = tt;
                            break;
                        default:
                            cOut = new TextBox();
                            break;
                    }
                }

                if(cOut != null)
                    cOut.ID = tableColumn.ColumnName;
            }
            if(cOut is TextBox)
            {
                TextBox tbx = (TextBox)cOut;
                ApplyCssClass(tbx, TextBoxCssClass);
                if(cOut.GetType() == typeof(TextBox)) //Not Redundant! CalendarControl is TextBox == true; myCalendarControl.GetType() == typeof(TextBox) == false!
                {
                    int maxLength = Utility.GetEffectiveMaxLength(tableColumn);
                    if(maxLength > 0)
                        tbx.MaxLength = maxLength;
                }
            }

            if(cOut != null && listReadOnlyColumns.Contains(colName))
                cOut.Enabled = false;

            return cOut;
        }
示例#12
0
        public static DataTable LAYTHONGTIN_KHOTHUOC(string loaikho)
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {

              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien)).And(TDmucKho.Columns.LaTuthuoc).IsEqualTo(0);

              }
              if(sqlQuery.HasWhere)
               sqlQuery.And(TDmucKho.Columns.KieuKho).IsEqualTo(loaikho);
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KieuKho).IsEqualTo(loaikho);
              }
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              return m_dtKhoThuoc;
             // return new Select().From(TDmucKho.Schema).Where(TDmucKho.Columns.KhoThuocVt).IsEqualTo(loaikho).OrderAsc(TDmucKho.Columns.SttHthi).ExecuteDataSet().Tables[0];
        }
示例#13
0
        public static DataTable LAYTHONGTIN_VATTU_KHOA(int ID_KHOA)
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {
              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien));

              }
              if (sqlQuery.HasWhere)
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoVT);
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KhoThuocVt).In(lstKhoVT);
              }
              sqlQuery.And(TDmucKho.Columns.KieuKho).In(lstKhole);
              sqlQuery.And(TDmucKho.Columns.IdKhoaphong).IsEqualTo(ID_KHOA);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              return m_dtKhoThuoc;
        }
示例#14
0
        public List<TThuockho> GetObjThuocKhoCollection(int id_kho, int id_thuoc, int id_thuockho, int so_luong)
        {
            string _value = THU_VIEN_CHUNG.Laygiatrithamsohethong("KIEU_XUATTHUOC", "STT", false);

            SqlQuery sqlQuery;

            SqlQuery myquery = new Select().From(TThuockho.Schema)
             .Where(TThuockho.Columns.IdKho).IsEqualTo(id_kho)
             .And(TThuockho.Columns.NgayHethan).IsGreaterThanOrEqualTo(globalVariables.SysDate.Date)
             .And(TThuockho.Columns.IdThuoc).IsEqualTo(id_thuoc)
             .And(TThuockho.Columns.SoLuong).IsGreaterThan(0);
            if (id_thuockho > 0)
                myquery.And(TThuockho.Columns.IdThuockho).IsEqualTo(id_thuockho);
            switch (_value)
            {
                case "FIFO":
                    myquery.OrderAsc(TThuockho.Columns.NgayNhap);
                    myquery.OrderAsc(TThuockho.Columns.NgayHethan);
                    break;
                case "LIFO":
                    myquery.OrderDesc(TThuockho.Columns.NgayNhap);
                    myquery.OrderAsc(TThuockho.Columns.NgayHethan);
                    break;
                case "EXP":
                    myquery.OrderAsc(TThuockho.Columns.NgayHethan);
                    myquery.OrderAsc(TThuockho.Columns.NgayNhap);
                    break;
                case "STT":
                    myquery.OrderAsc(TThuockho.Columns.SttBan);
                    myquery.OrderAsc(TThuockho.Columns.NgayHethan);
                    break;
                default:
                    break;

            }
            //Khi chưa có phần cấu hình thì theo điều kiện phía dưới
            //myquery.OrderAsc(TThuockho.Columns.SttBan);
            //myquery.OrderAsc(TThuockho.Columns.NgayHethan);
            TThuockhoCollection lstAll = myquery.ExecuteAsCollection<TThuockhoCollection>();
            //Lấy số lượng ảo của các đơn thuốc có thuốc chưa được xác nhận
            DataTable dtPresDetail = SPs.TLaythuocTrongkhoKedon(id_kho, id_thuoc, so_luong).GetDataSet().Tables[0];
            List<TThuockho> lstItems = new List<TThuockho>();
            int iSoLuongConLai = 0;
            int iSoLuongDonThuoc = so_luong;
            int iSoLuongTru = 0;
            int soluongAo = 0;
            foreach (TThuockho item in lstAll)
            {
                DataRow[] arrDR = dtPresDetail.Select(TThuockho.Columns.IdThuockho + "=" + item.IdThuockho.ToString());
                if (arrDR.Length > 0)
                    soluongAo = Utility.Int32Dbnull(arrDR.CopyToDataTable().Compute("SUM(" + KcbDonthuocChitiet.Columns.SoLuong + ")", "1=1"), 0);
                else
                    soluongAo = 0;
                //Tính số lượng kho còn lại
                iSoLuongConLai = item.SoLuong - soluongAo;
                if (iSoLuongConLai >= iSoLuongDonThuoc)
                {
                    iSoLuongTru = iSoLuongConLai - iSoLuongDonThuoc;
                    item.SoLuong = iSoLuongDonThuoc;
                    if (item.SoLuong > 0)
                        lstItems.Add(item);
                    break;
                }
                else//Số lượng kho < số lượng thuốc
                {
                    //Lượng nhỏ hơn
                    iSoLuongTru = iSoLuongDonThuoc - iSoLuongConLai;
                    iSoLuongDonThuoc = iSoLuongTru;
                    item.SoLuong = iSoLuongConLai;
                    if (item.SoLuong > 0)
                        lstItems.Add(item);
                }
            }
            return lstItems;
        }
示例#15
0
        /// <summary>
        /// Binds the grid.
        /// </summary>
        /// <param name="orderBy">The order by.</param>
        protected void BindGrid(string orderBy)
        {
            if(TableSchema != null && TableSchema.PrimaryKey != null)
            {
                SqlQuery query = new Select(TableSchema.Provider).From(TableSchema);

                if(!String.IsNullOrEmpty(_whereExpression))
                    query.WhereExpression(_whereExpression);

                if(_whereCollection != null)
                    SqlQueryBridge.AddLegacyWhereCollection(query, _whereCollection);

                string sortColumn = null;
                if(!String.IsNullOrEmpty(orderBy))
                    sortColumn = orderBy;
                else if(ViewState[ORDER_BY] != null)
                    sortColumn = (string)ViewState[ORDER_BY];

                int colIndex = -1;

                if(!String.IsNullOrEmpty(sortColumn))
                {
                    ViewState.Add(ORDER_BY, sortColumn);
                    TableSchema.TableColumn col = TableSchema.GetColumn(sortColumn);
                    if(col == null)
                    {
                        for(int i = 0; i < TableSchema.Columns.Count; i++)
                        {
                            TableSchema.TableColumn fkCol = TableSchema.Columns[i];
                            if(fkCol.IsForeignKey && !String.IsNullOrEmpty(fkCol.ForeignKeyTableName))
                            {
                                TableSchema.Table fkTbl = DataService.GetSchema(fkCol.ForeignKeyTableName, ProviderName, TableType.Table);
                                if(fkTbl != null)
                                {
                                    col = Utility.GetDisplayTableColumn(fkTbl);
                                    colIndex = i;
                                    break;
                                }
                            }
                        }
                    }
                    if(col != null && col.MaxLength < 2048)
                    {
                        string sortAlias = colIndex > -1 ? SqlFragment.JOIN_PREFIX + colIndex : col.ColumnName;
                        if(ViewState[SORT_DIRECTION] == null || ((string)ViewState[SORT_DIRECTION]) == SqlFragment.ASC)
                        {
                            query.OrderAsc(sortAlias);
                            //query.OrderBy = colIndex > -1 ? OrderBy.Asc(col, SqlFragment.JOIN_PREFIX + colIndex) : OrderBy.Asc(col);
                            ViewState[SORT_DIRECTION] = SqlFragment.ASC;
                        }
                        else
                        {
                            query.OrderDesc(sortAlias);
                            //query.OrderBy = colIndex > -1 ? OrderBy.Desc(col, SqlFragment.JOIN_PREFIX + colIndex) : OrderBy.Desc(col);
                            ViewState[SORT_DIRECTION] = SqlFragment.DESC;
                        }
                    }
                }

                DataTable dt = query.ExecuteJoinedDataSet().Tables[0];
                grid.DataSource = dt;
                grid.AutoGenerateColumns = false;
                grid.Columns.Clear();

                int columnOffset = 0;
                string dataKey = TableSchema.PrimaryKey.ColumnName;
                if(Utility.IsMappingTable(TableSchema) && dt.Columns.Count > TableSchema.Columns.Count)
                {
                    columnOffset = 1;
                    dataKey = dt.Columns[0].ColumnName;
                }

                grid.DataKeyNames = new[] {dataKey};

                CommandField link = new CommandField
                                        {
                                            ShowEditButton = true,
                                            EditText = "Edit"
                                        };

                grid.Columns.Insert(0, link);

                for(int i = 0; i < TableSchema.Columns.Count; i++)
                {
                    int dtColIndex = i + columnOffset;

                    BoundField field = new BoundField
                                           {
                                               DataField = dt.Columns[dtColIndex].ColumnName,
                                               SortExpression = dt.Columns[dtColIndex].ColumnName, HtmlEncode = false
                                           };
                    //field.SortExpression = Utility.QualifyColumnName(schema.Name, dt.Columns[i].ColumnName, schema.Provider);
                    TableSchema.TableColumn col = TableSchema.Columns[i];
                    if(col.IsForeignKey)
                    {
                        TableSchema.Table fkSchema = col.ForeignKeyTableName == null
                                                         ? DataService.GetForeignKeyTable(col, TableSchema)
                                                         : DataService.GetSchema(col.ForeignKeyTableName, ProviderName, TableType.Table);

                        if(fkSchema != null)
                            field.HeaderText = fkSchema.DisplayName;
                    }
                    else
                        field.HeaderText = col.DisplayName;

                    if(!Utility.IsAuditField(dt.Columns[dtColIndex].ColumnName) && !listHiddenGridColumns.Contains(dt.Columns[dtColIndex].ColumnName.ToLower()))
                        grid.Columns.Add(field);
                }

                grid.DataBind();
            }
        }
示例#16
0
        /// <summary>
        /// HÀM THỰC HIỆN LẤY THÔNG TIN KHO LẺ
        /// </summary>
        /// <returns></returns>
        public static DataTable LAYTHONGTIN_KHOTHUOC_LE_NGOAI_TRU_KEDON(string MA_DTUONG)
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {
              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien));

              }
              if (sqlQuery.HasWhere)
              sqlQuery.And(TDmucKho.Columns.KieuKho).In(lstKhole);
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KieuKho).In(lstKhole);
              }
              if (MA_DTUONG.Trim().ToUpper() != "ALL")
              {
              sqlQuery.And(TDmucKho.Columns.IdKho).In(new Select(QheDoituongKho.IdKhoColumn).From(QheDoituongKho.Schema).Where(QheDoituongKho.MaDoituongKcbColumn).IsEqualTo(MA_DTUONG));
              }
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
              sqlQuery.And(TDmucKho.Columns.LaTuthuoc).IsEqualTo(0)
              .And(TDmucKho.Columns.LoaiBnhan).In(lstKhoNgoaitru);
              sqlQuery.And(TDmucKho.Columns.LoaiKho).IsEqualTo(0);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              return m_dtKhoThuoc;
        }
 void cboService_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         if (!m_blnLoaded) return;
        SqlQuery _SqlQuery = new Select().From(VDmucDichvuclsChitiet.Schema);
        if (Utility.Int32Dbnull(cboService.SelectedValue, -1) > -1)
            _SqlQuery.Where(VDmucDichvuclsChitiet.Columns.IdDichvu).IsEqualTo(Utility.Int32Dbnull(cboService.SelectedValue, -1));
        if (_SqlQuery.HasWhere)
        {
            if (!optTatca.Checked)
                _SqlQuery.And(VDmucDichvuclsChitiet.Columns.TrangThai).IsEqualTo(optHieuluc.Checked ? 1 : 0);
            if (!optQhe_tatca.Checked)
                _SqlQuery.And(VDmucDichvuclsChitiet.Columns.CoQhe).IsEqualTo(optCoQhe.Checked ? 1 : 0);
        }
        else
        {
            if (!optTatca.Checked)
                _SqlQuery.Where(VDmucDichvuclsChitiet.Columns.TrangThai).IsEqualTo(optHieuluc.Checked ? 1 : 0);
            if (!optQhe_tatca.Checked)
                _SqlQuery.And(VDmucDichvuclsChitiet.Columns.CoQhe).IsEqualTo(optCoQhe.Checked ? 1 : 0);
        }
        m_dtDataDetailService = _SqlQuery.OrderAsc(VDmucDichvuclsChitiet.Columns.SttHthiLoaidvu, VDmucDichvuclsChitiet.Columns.SttHthiDichvu,VDmucDichvuclsChitiet.Columns.SttHthi).ExecuteDataSet().Tables[0];
        Utility.SetDataSourceForDataGridEx(grdList, m_dtDataDetailService, true, true, "1=1", "stt_hthi_dichvu,stt_hthi_chitiet," + DmucDichvuclsChitiet.Columns.TenChitietdichvu);
     }
     catch
     {
     }
 }
示例#18
0
 /// <summary>
 /// hàm thực hiện việc lấy thông tin của dược
 /// </summary>
 /// <returns></returns>
 /// 
 public static DataTable LAYTHONGTIN_KHOTHUOC_TATCA()
 {
     DataTable m_dtKhoThuoc=new DataTable();
       SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
       if(!globalVariables.IsAdmin)
       {
       sqlQuery.Where(TDmucKho.Columns.IdKho).In(
           new Select(QheNhanvienKho.Columns.IdKho).From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
               .IsEqualTo(globalVariables.gv_intIDNhanvien));
       }
       sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuoc);
        sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
        m_dtKhoThuoc=sqlQuery.ExecuteDataSet().Tables[0];
       return m_dtKhoThuoc;
 }
        void txtLoaiDichvu__OnSelectionChanged()
        {
            try
            {

                SqlQuery _SqlQuery = new Select().From(VDmucDichvuclsChitiet.Schema);
                if (Utility.Int32Dbnull(txtLoaiDichvu.MyID, -1) > -1)
                    _SqlQuery.Where(VDmucDichvuclsChitiet.Columns.IdDichvu).IsEqualTo(Utility.Int32Dbnull(txtLoaiDichvu.MyID, -1));
                dsTable = _SqlQuery.OrderAsc(VDmucDichvuclsChitiet.Columns.SttHthi).ExecuteDataSet().Tables[0];
                Utility.SetDataSourceForDataGridEx(grdServiceDetail, dsTable, true, true, "id_cha<=0", DmucDichvuclsChitiet.Columns.SttHthi + "," + DmucDichvuclsChitiet.Columns.TenChitietdichvu);
            }
            catch
            {
            }
        }
示例#20
0
        /// <summary>
        /// HÀM THỰC HIỆN LẤY THÔNG TIN KHO LẺ
        /// </summary>
        /// <returns></returns>
        public static DataTable LAYTHONGTIN_KHOTHUOC_VATTU_NOITRU_THEOKHOA(int ID_KHOA)
        {
            DataTable m_dtKhoThuoc = new DataTable();
              SqlQuery sqlQuery = new Select().From(TDmucKho.Schema);
              if (!globalVariables.IsAdmin)
              {
              sqlQuery.Where(TDmucKho.Columns.IdKho).In(new Select(QheNhanvienKho.Columns.IdKho)
                                                        .From(QheNhanvienKho.Schema).Where(QheNhanvienKho.Columns.IdNhanvien)
                                                        .IsEqualTo(globalVariables.gv_intIDNhanvien));

              }
              if (sqlQuery.HasWhere)
              sqlQuery.And(TDmucKho.Columns.KieuKho).In(lstKhole);//Kho lẻ
              else
              {
              sqlQuery.Where(TDmucKho.Columns.KieuKho).In(lstKhole);
              }
              sqlQuery.And(TDmucKho.Columns.LaTuthuoc).IsEqualTo(0)//Không lấy tủ thuốc
              .And(TDmucKho.Columns.LoaiBnhan).In(lstKhoNoitru);//Chỉ lấy các kho nội trú
              sqlQuery.And(TDmucKho.Columns.KhoThuocVt).In(lstKhoThuocVT);

              sqlQuery.And(TDmucKho.Columns.LoaiKho).IsEqualTo(0);
              sqlQuery.OrderAsc(TDmucKho.Columns.SttHthi);
              m_dtKhoThuoc = sqlQuery.ExecuteDataSet().Tables[0];
              DataTable dt_khovattu=LAYTHONGTIN_VATTU_KHOA(ID_KHOA);
              if(dt_khovattu!=null)
              {
              foreach(DataRow dr in dt_khovattu.Rows)
              m_dtKhoThuoc.ImportRow(dr);
              }
              return m_dtKhoThuoc;
        }
        /// <summary>
        /// hàm tìm kiếm thông tin của Form
        /// </summary>
        private void Search()
        {
            try
            {
                SqlQuery q = new Select().From(VDmucDoituongbhyt.Schema);
                q.Where("1=1");
                if (!string.IsNullOrEmpty(txtInsObject_Code.Text))
                {
                    q.And(VDmucDoituongbhyt.Columns.MaDoituongbhyt).Like("%" + txtInsObject_Code.Text + "%");
                }
                if (!string.IsNullOrEmpty(txtDieaseName.Text))
                {
                    q.And(VDmucDoituongbhyt.Columns.TenDoituongbhyt).Like("%" + txtDieaseName.Text + "%");
                }
                if (cboObjectType_ID.SelectedIndex > 0)
                {
                    q.And(VDmucDoituongbhyt.Columns.IdDoituongKcb).IsEqualTo(
                        Utility.Int32Dbnull(cboObjectType_ID.SelectedValue, -1));
                }
                if (cboGroupInsurance.SelectedIndex > 0)
                {
                    q.And(VDmucDoituongbhyt.Columns.MaNhombhyt).IsEqualTo(
                        Utility.sDbnull(cboGroupInsurance.SelectedValue, "-1"));
                }
                q.OrderAsc(VDmucDoituongbhyt.Columns.SttHthi);
                m_dtInsurance = q.ExecuteDataSet().Tables[0];
                Utility.SetDataSourceForDataGridEx(grd_Insurance_Objects, m_dtInsurance, true, true, "", "");
            }
            catch (Exception)
            {

            }

            // grd_Insurance_Objects.DataSource = m_dtInsurance;
        }