Int64 IOTIssueUploadInfoDataAccess.Add(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, DatabaseOperationType option, TransactionRequired reqTran)
        {
            try
            {
                long retValues = -99;

                switch (reqTran)
                {
                case TransactionRequired.No:
                {
                    retValues = Add(oTIssueUploadInfoEntity, option);
                    break;
                }

                case TransactionRequired.Yes:
                {
                    retValues = AddTran(oTIssueUploadInfoEntity, option);
                    break;
                }

                default:
                {
                    retValues = -99;
                    break;
                }
                }

                return(retValues);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Int64 UpdateTran(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.OTIssueUploadInfo_SET";

            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand cmd = db.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option, db);
                AddOutputParameter(cmd, db);
                AddFilterExpressionParameter(cmd, filterExpression, db);

                db.AddInParameter(cmd, "@IssueUploadInfoID", DbType.Int64, oTIssueUploadInfoEntity.IssueUploadInfoID);
                db.AddInParameter(cmd, "@IssueID", DbType.Int64, oTIssueUploadInfoEntity.IssueID);
                db.AddInParameter(cmd, "@Remarks", DbType.String, oTIssueUploadInfoEntity.Remarks);
                db.AddInParameter(cmd, "@Path", DbType.String, oTIssueUploadInfoEntity.Path);
                db.AddInParameter(cmd, "@OriginalFileName", DbType.String, oTIssueUploadInfoEntity.OriginalFileName);
                db.AddInParameter(cmd, "@CurrentFileName", DbType.String, oTIssueUploadInfoEntity.CurrentFileName);
                db.AddInParameter(cmd, "@FileType", DbType.String, oTIssueUploadInfoEntity.FileType);
                db.AddInParameter(cmd, "@Extension", DbType.String, oTIssueUploadInfoEntity.Extension);

                DbConnection connection = db.CreateConnection();
                connection.Open();
                DbTransaction transaction = connection.BeginTransaction();

                try
                {
                    using (IDataReader reader = db.ExecuteReader(cmd, transaction))
                    {
                        returnCode = GetReturnCodeFromParameter(cmd);
                    }

                    if (returnCode > 0)
                    {
                        transaction.Commit();
                    }
                    else
                    {
                        throw new ArgumentException("Error Code." + returnCode.ToString());
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
                finally
                {
                    transaction.Dispose();
                    connection.Close();
                    connection = null;
                }
            }

            return(returnCode);
        }
        private Int64 DeleteTran(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.OTIssueUploadInfo_SET";

            Database db = DatabaseFactory.CreateDatabase();


            using (DbCommand cmd = db.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option);
                AddOutputParameter(cmd, db);
                AddFilterExpressionParameter(cmd, filterExpression, db);


                DbConnection connection = db.CreateConnection();
                connection.Open();
                DbTransaction transaction = connection.BeginTransaction();

                try
                {
                    using (IDataReader reader = db.ExecuteReader(cmd, transaction))
                    {
                        returnCode = GetReturnCodeFromParameter(cmd);
                    }

                    if (returnCode >= 0)
                    {
                        transaction.Commit();
                    }
                    else
                    {
                        throw new ArgumentException("Error Code." + returnCode.ToString());
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
                finally
                {
                    transaction.Dispose();
                    connection.Close();
                    connection = null;
                }
            }

            return(returnCode);
        }
        protected void lvOTIssueUploadInfo_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            Int64 IssueUploadInfoID;

            Int64.TryParse(e.CommandArgument.ToString(), out IssueUploadInfoID);

            if (IssueUploadInfoID > 0)
            {
                if (string.Equals(e.CommandName, "DeleteItem"))
                {
                    try
                    {
                        Int64 result = -1;

                        String fe = SqlExpressionBuilder.PrepareFilterExpression(OTIssueUploadInfoEntity.FLD_NAME_IssueUploadInfoID, IssueUploadInfoID.ToString(), SQLMatchType.Equal);

                        OTIssueUploadInfoEntity oTIssueUploadInfoEntity = FCCOTIssueUploadInfo.GetFacadeCreate().GetByID(IssueUploadInfoID);


                        result = FCCOTIssueUploadInfo.GetFacadeCreate().Delete(oTIssueUploadInfoEntity, fe, DatabaseOperationType.Delete, TransactionRequired.No);

                        if (result == 0)
                        {
                            if (File.Exists(Server.MapPath(oTIssueUploadInfoEntity.Path)))
                            {
                                File.Delete(Server.MapPath(oTIssueUploadInfoEntity.Path));
                            }

                            _IssueUploadInfoID       = 0;
                            _OTIssueUploadInfoEntity = new OTIssueUploadInfoEntity();

                            BindOTIssueUploadInfoList();

                            MiscUtil.ShowMessage(lblMessage, "File has been deleted successfully.", true);
                        }
                        else
                        {
                            MiscUtil.ShowMessage(lblMessage, "Failed to delete file.", true);
                        }
                    }
                    catch (Exception ex)
                    {
                        MiscUtil.ShowMessage(lblMessage, ex.Message, true);
                    }
                }
            }
        }
        private Int64 Update(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.OTIssueUploadInfo_SET";

            using (DbCommand cmd = Database.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option);
                AddOutputParameter(cmd);
                AddFilterExpressionParameter(cmd, filterExpression);

                Database.AddInParameter(cmd, "@IssueUploadInfoID", DbType.Int64, oTIssueUploadInfoEntity.IssueUploadInfoID);
                Database.AddInParameter(cmd, "@IssueID", DbType.Int64, oTIssueUploadInfoEntity.IssueID);
                Database.AddInParameter(cmd, "@Remarks", DbType.String, oTIssueUploadInfoEntity.Remarks);
                Database.AddInParameter(cmd, "@Path", DbType.String, oTIssueUploadInfoEntity.Path);
                Database.AddInParameter(cmd, "@OriginalFileName", DbType.String, oTIssueUploadInfoEntity.OriginalFileName);
                Database.AddInParameter(cmd, "@CurrentFileName", DbType.String, oTIssueUploadInfoEntity.CurrentFileName);
                Database.AddInParameter(cmd, "@FileType", DbType.String, oTIssueUploadInfoEntity.FileType);
                Database.AddInParameter(cmd, "@Extension", DbType.String, oTIssueUploadInfoEntity.Extension);

                using (IDataReader reader = Database.ExecuteReader(cmd))
                {
                    returnCode = GetReturnCodeFromParameter(cmd);

                    switch (returnCode)
                    {
                    case SqlConstants.DB_STATUS_CODE_DATAALREADYEXIST:
                    {
                        throw new ArgumentException("OTIssueUploadInfoEntity already exists. Please specify another OTIssueUploadInfoEntity.");
                    }

                    case SqlConstants.DB_STATUS_CODE_DATAUPDATEDFROMOTHERSESSION:
                    {
                        throw new ArgumentException("OTIssueUploadInfoEntity data already updated from different session.");
                    }

                    case SqlConstants.DB_STATUS_CODE_FAIL_OPERATION:
                    {
                        throw new ArgumentException("OTIssueUploadInfoEntity already exists. Please specify another OTIssueUploadInfoEntity.");
                    }
                    }
                }
            }

            return(returnCode);
        }
        protected void afuFiles_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
        {
            OTIssueUploadInfoEntity ent = new OTIssueUploadInfoEntity();

            ent.IssueID          = this.OverviewIssueID;
            ent.OriginalFileName = Path.GetFileName(e.FileName);
            ent.CurrentFileName  = Guid.NewGuid().ToString() + Path.GetExtension(e.FileName);
            ent.FileType         = "";
            ent.Extension        = Path.GetExtension(e.FileName);
            ent.Path             = FileUploadConstants.Issue.ADHOC_DOCUMENTS + ent.CurrentFileName;
            ent.Remarks          = String.Empty;

            FCCOTIssueUploadInfo.GetFacadeCreate().Add(ent, DatabaseOperationType.Add, TransactionRequired.No);

            // file upload

            afuFiles.SaveAs(Server.MapPath(ent.Path));

            //LoadFileListGried
            BindOTIssueUploadInfoList();
        }
        private Int64 Delete(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, String filterExpression, DatabaseOperationType option)
        {
            long         returnCode = -99;
            const string SP         = "dbo.OTIssueUploadInfo_SET";

            using (DbCommand cmd = Database.GetStoredProcCommand(SP))
            {
                AddOptionParameter(cmd, option);
                AddOutputParameter(cmd);
                AddFilterExpressionParameter(cmd, filterExpression);


                using (IDataReader reader = Database.ExecuteReader(cmd))
                {
                    returnCode = GetReturnCodeFromParameter(cmd);

                    switch (returnCode)
                    {
                    case SqlConstants.DB_STATUS_CODE_DATAALREADYEXIST:
                    {
                        throw new ArgumentException("OTIssueUploadInfoEntity already exists. Please specify another OTIssueUploadInfoEntity.");
                    }

                    case SqlConstants.DB_STATUS_CODE_DATAUPDATEDFROMOTHERSESSION:
                    {
                        throw new ArgumentException("OTIssueUploadInfoEntity data already updated from different session.");
                    }

                    case SqlConstants.DB_STATUS_CODE_FAIL_OPERATION:
                    {
                        throw new ArgumentException("OTIssueUploadInfoEntity already exists. Please specify another OTIssueUploadInfoEntity.");
                    }
                    }
                }
            }

            return(returnCode);
        }
 Int64 IOTIssueUploadInfoFacade.Delete(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, String filterExpression, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateOTIssueUploadInfoDataAccess().Delete(oTIssueUploadInfoEntity, filterExpression, option, reqTran));
 }
 Int64 IOTIssueUploadInfoFacade.Add(OTIssueUploadInfoEntity oTIssueUploadInfoEntity, DatabaseOperationType option, TransactionRequired reqTran)
 {
     return(DataAccessFactory.CreateOTIssueUploadInfoDataAccess().Add(oTIssueUploadInfoEntity, option, reqTran));
 }