예제 #1
0
        //**************************************************************************
        ///    <Description>
        ///       This method uses to update data to ITM_Category
        ///    </Description>
        ///    <Inputs>
        ///       ITM_CategoryVO
        ///    </Inputs>
        ///    <Outputs>
        ///
        ///    </Outputs>
        ///    <Returns>
        ///
        ///    </Returns>
        ///    <Authors>
        ///       HungLa
        ///    </Authors>
        ///    <History>
        ///       09-Dec-2004
        ///    </History>
        ///    <Notes>
        ///    </Notes>
        //**************************************************************************
        public void Update(object pobjObjecVO)
        {
            const string METHOD_NAME = THIS + ".Update()";

            ITM_CategoryVO objObject = (ITM_CategoryVO)pobjObjecVO;


            //prepare value for parameters
            OleDbConnection oconPCS = null;
            OleDbCommand    ocmdPCS = null;

            try
            {
                string strSqlRoot = string.Empty, strSqlNode = string.Empty;
                Utils  utils = new Utils();
                oconPCS    = new OleDbConnection(Utils.Instance.OleDbConnectionString);
                ocmdPCS    = new OleDbCommand(strSqlRoot, oconPCS);
                strSqlRoot = "UPDATE ITM_Category SET "
                             + ITM_CategoryTable.CODE_FLD + "=   ?" + ","
                             + ITM_CategoryTable.NAME_FLD + "=   ?" + ","
                             + ITM_CategoryTable.CATALOGNAME_FLD + "=   ?" + ","
                             + ITM_CategoryTable.DESCRIPTION_FLD + "=   ?" + ","
                             + ITM_CategoryTable.PICTURE_FLD + "=   ?"
                             + " WHERE " + ITM_CategoryTable.CATEGORYID_FLD + "= ?";

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.CODE_FLD, OleDbType.VarWChar));
                ocmdPCS.Parameters[ITM_CategoryTable.CODE_FLD].Value = objObject.Code;

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.NAME_FLD, OleDbType.VarWChar));
                ocmdPCS.Parameters[ITM_CategoryTable.NAME_FLD].Value = objObject.Name;

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.CATALOGNAME_FLD, OleDbType.VarWChar));
                ocmdPCS.Parameters[ITM_CategoryTable.CATALOGNAME_FLD].Value = objObject.CatalogNameVN;

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.DESCRIPTION_FLD, OleDbType.VarWChar));
                ocmdPCS.Parameters[ITM_CategoryTable.DESCRIPTION_FLD].Value = objObject.Description;

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.PICTURE_FLD, OleDbType.Binary));
                if (objObject.Picture != null)
                {
                    // convert bitmap to byte array in order to store to db
                    Bitmap       image  = objObject.Picture;
                    MemoryStream stream = new MemoryStream();
                    image.Save(stream, ImageFormat.Bmp);
                    byte[] bytContent = stream.ToArray();
                    ocmdPCS.Parameters[ITM_CategoryTable.PICTURE_FLD].Value = bytContent;
                    ocmdPCS.Parameters[ITM_CategoryTable.PICTURE_FLD].Size  = bytContent.Length;
                }
                else
                {
                    ocmdPCS.Parameters[ITM_CategoryTable.PICTURE_FLD].Value = DBNull.Value;
                }

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.CATEGORYID_FLD, OleDbType.Integer));
                ocmdPCS.Parameters[ITM_CategoryTable.CATEGORYID_FLD].Value = objObject.CategoryID;

                ocmdPCS.CommandText = strSqlRoot;
                ocmdPCS.Connection.Open();
                ocmdPCS.ExecuteNonQuery();
            }
            catch (OleDbException ex)
            {
                if (ex.Errors.Count > 1)
                {
                    if (ex.Errors[1].NativeError == ErrorCode.SQLDUPLICATE_KEYCODE)
                    {
                        throw new PCSDBException(ErrorCode.DUPLICATE_KEY, METHOD_NAME, ex);
                    }
                    else
                    {
                        throw new PCSDBException(ErrorCode.ERROR_DB, METHOD_NAME, ex);
                    }
                }
                else
                {
                    throw new PCSDBException(ErrorCode.ERROR_DB, METHOD_NAME, ex);
                }
            }
            catch (InvalidOperationException ex)
            {
                throw new PCSDBException(ErrorCode.ERROR_DB, METHOD_NAME, ex);
            }
            catch (Exception ex)
            {
                throw new PCSDBException(ErrorCode.OTHER_ERROR, METHOD_NAME, ex);
            }

            finally
            {
                if (oconPCS != null)
                {
                    if (oconPCS.State != ConnectionState.Closed)
                    {
                        oconPCS.Close();
                    }
                }
            }
        }
예제 #2
0
        //**************************************************************************
        ///    <Description>
        ///       This method uses to get data from ITM_Category
        ///    </Description>
        ///    <Inputs>
        ///        pstrProductCode
        ///    </Inputs>
        ///    <Outputs>
        ///       ITM_CategoryVO
        ///    </Outputs>
        ///    <Returns>
        ///       ITM_CategoryVO
        ///    </Returns>
        ///    <Authors>
        ///       HungLa
        ///    </Authors>
        ///    <History>
        ///       Thursday, January 20, 2005
        ///    </History>
        ///    <Notes>
        ///    </Notes>
        //**************************************************************************
        public object GetObjectVO(string pstrProductCode)
        {
            const string METHOD_NAME = THIS + ".GetObjectVO()";

            OleDbDataReader odrPCS  = null;
            OleDbConnection oconPCS = null;
            OleDbCommand    ocmdPCS = null;

            try
            {
                string strSql = String.Empty;
                strSql = "SELECT "
                         + ITM_CategoryTable.CATEGORYID_FLD + ","
                         + ITM_CategoryTable.CODE_FLD + ","
                         + ITM_CategoryTable.NAME_FLD + ","
                         + ITM_CategoryTable.CATALOGNAME_FLD + ","
                         + ITM_CategoryTable.DESCRIPTION_FLD + ","
                         + ITM_CategoryTable.PICTURE_FLD + ","
                         + ITM_CategoryTable.PARENTCATEGORYID_FLD
                         + " FROM " + ITM_CategoryTable.TABLE_NAME
                         + " WHERE " + ITM_CategoryTable.CODE_FLD + "=?";

                Utils utils = new Utils();
                oconPCS = new OleDbConnection(Utils.Instance.OleDbConnectionString);
                ocmdPCS = new OleDbCommand(strSql, oconPCS);

                ocmdPCS.Parameters.Add(new OleDbParameter(ITM_CategoryTable.CODE_FLD, OleDbType.VarWChar));
                ocmdPCS.Parameters[ITM_CategoryTable.CODE_FLD].Value = pstrProductCode;

                ocmdPCS.Connection.Open();
                odrPCS = ocmdPCS.ExecuteReader();

                ITM_CategoryVO objObject = new ITM_CategoryVO();

                while (odrPCS.Read())
                {
                    objObject.CategoryID    = int.Parse(odrPCS[ITM_CategoryTable.CATEGORYID_FLD].ToString().Trim());
                    objObject.Code          = odrPCS[ITM_CategoryTable.CODE_FLD].ToString().Trim();
                    objObject.CatalogNameVN = odrPCS[ITM_CategoryTable.CATALOGNAME_FLD].ToString().Trim();
                    objObject.Name          = odrPCS[ITM_CategoryTable.NAME_FLD].ToString().Trim();
                    objObject.Description   = odrPCS[ITM_CategoryTable.DESCRIPTION_FLD].ToString().Trim();
                    try
                    {
                        objObject.ParentCategoryId = int.Parse(odrPCS[ITM_CategoryTable.PARENTCATEGORYID_FLD].ToString().Trim());
                    }
                    catch {}
                    try
                    {
                        // convert byte array to bitmap
                        byte[]       content = (byte[])odrPCS[ITM_CategoryTable.PICTURE_FLD];
                        MemoryStream stream  = new MemoryStream(content);
                        objObject.Picture = new Bitmap(stream);;
                    }
                    catch {}
                }
                return(objObject);
            }
            catch (OleDbException ex)
            {
                throw new PCSDBException(ErrorCode.ERROR_DB, METHOD_NAME, ex);
            }

            catch (Exception ex)
            {
                throw new PCSDBException(ErrorCode.OTHER_ERROR, METHOD_NAME, ex);
            }

            finally
            {
                if (oconPCS != null)
                {
                    if (oconPCS.State != ConnectionState.Closed)
                    {
                        oconPCS.Close();
                    }
                }
            }
        }