Beispiel #1
0
        public static DataSet GetUpdatedData(Int64 KeyID, Int64 CID, Int64 AID, Int32 RID, Int32 RSNID, DateTime ModifiedOn, Int32 UserID)
        {
            String     msg = "";
            DataTable  dt  = new DataTable();
            DataSet    ds  = new DataSet();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "[Sbsp_GetUpdatedData]";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value          = UserID;
                cmd.Parameters.Add("@ModifiedOn", SqlDbType.DateTime).Value = ModifiedOn;
                cmd.Parameters.Add("@ReportID", SqlDbType.Int).Value        = RID;
                cmd.Parameters.Add("@ReasonID", SqlDbType.Int).Value        = RSNID;
                cmd.Parameters.Add("@KeyID", SqlDbType.BigInt).Value        = KeyID;
                cmd.Parameters.Add("@CID", SqlDbType.BigInt).Value          = CID;
                cmd.Parameters.Add("@AID", SqlDbType.BigInt).Value          = AID;
                ds = DataAccess.GetDataSet(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("GetOptimizeData - " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(ds);
        }
Beispiel #2
0
        /// <summary>
        /// Set Report Dates
        /// </summary>
        /// <returns></returns>
        ///

        public static String SetOldReportDatesData()
        {
            String     msg = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_SetReportDates";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@enddate", SqlDbType.SmallDateTime).Value = DateTime.Now.Date.AddDays(-3);
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateProfileAndAccessTokenData - " + ex.Message);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateProfileAndAccessTokenData - " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(msg);
        }
Beispiel #3
0
        /// <summary>
        /// Update user profile and adevertising token
        ///<param name="ProfileId">ProfileId</param>
        ///<param name="AccessToken">AccessToken</param>
        ///<param name="RefreshToken">RefreshToken</param>
        ///<param name="TokenType">TokenType</param>
        ///<param name="ExpiresIn">ExpiresIn</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateAccessTokenData(int UserID, String AccessToken, String RefreshToken, String TokenType, int ExpiresIn)
        {
            String     msg = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_UpdateAccessToken";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@mppUserId", SqlDbType.Int).Value  = UserID;
                cmd.Parameters.Add("@accessToken", SqlDbType.VarChar).Value     = AccessToken;
                cmd.Parameters.Add("@refreshToken", SqlDbType.VarChar).Value    = RefreshToken;
                cmd.Parameters.Add("@tokenType", SqlDbType.VarChar, 20).Value   = TokenType;
                cmd.Parameters.Add("@countryCode", SqlDbType.Int).Value         = 1;
                cmd.Parameters.Add("@expiresIn", SqlDbType.Int).Value           = ExpiresIn;
                cmd.Parameters.Add("@tokendate", SqlDbType.SmallDateTime).Value = DateTime.Now;
                cmd.Parameters.Add("@date", SqlDbType.SmallDateTime).Value      = DateTime.Now.Date.AddDays(-3);
                DataAccess.ExecuteCommand(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateAccessTokenData- MppUserID" + UserID + ": " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(msg);
        }
Beispiel #4
0
        public static string UpdateBestSrchTermCampaigns(DataTable dt)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateBestSrchTerm";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@UpdateNewCampDt", dt);

                DataAccess.ExecuteScalarCommand(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateBestSrchTermCampaigns-" + ex.Message);
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateBestSrchTermCampaigns-" + ex.Message);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #5
0
        /// <summary>
        /// Get the sellers to update their inventory
        ///<param name="Type">Type</param>
        /// </summary>
        /// <returns></returns>
        public static DataTable GetReportData(ReportStatus?Type, int MaxCount)
        {
            String     msg = "";
            DataTable  dt  = new DataTable();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_ReportManagement";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@date", SqlDbType.SmallDateTime).Value = DateTime.Now.Date.AddDays(-3);
                cmd.Parameters.AddWithValue("@type", SqlDbType.Int).Value           = (int)Type;
                cmd.Parameters.AddWithValue("@count", SqlDbType.Int).Value          = MaxCount;
                dt = DataAccess.GetTable(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("GetReportData - " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(dt);
        }
Beispiel #6
0
        /// <summary>
        /// Update AdGroups
        ///<param name="adgtbl">adgtbl</param>
        ///<param name="userid">userid</param>
        ///<param name="reportid">reportid</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateAdGroupData(DataTable adgtbl, Int32 userid, Int32 reportid)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateAdGroups";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@tblAdgroups", adgtbl);
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value     = userid;
                cmd.Parameters.Add("@ReportID", SqlDbType.Int).Value   = reportid;
                cmd.Parameters.Add("@RecordType", SqlDbType.Int).Value = (int)RecordType.AdGroup;
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateAdGroupData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateAdGroupData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #7
0
        /// <summary>
        /// get best customer search campaigns for creation
        /// </summary>
        /// <returns></returns>
        public static DataSet GetBestSrchTermCampaignsToCreate()
        {
            String     msg = "";
            DataSet    ds  = new DataSet();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_GetBestSrchTermCampaignsToCreate";
                cmd.CommandType = CommandType.StoredProcedure;
                ds = DataAccess.GetDataSetForBulk(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("GetBestSrchTermCampaignsToCreate - " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(ds);
        }
Beispiel #8
0
        /// <summary>
        /// Update user profile and adevertising token
        ///<param name="ProfileId">ProfileId</param>
        ///<param name="AccessToken">AccessToken</param>
        ///<param name="RefreshToken">RefreshToken</param>
        ///<param name="TokenType">TokenType</param>
        ///<param name="ExpiresIn">ExpiresIn</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateProfileData(int UserID, string ProfileId, String SellerStringId)
        {
            String     msg = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_UpdateSellerProfile";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@mppUserId", SqlDbType.Int).Value      = UserID;
                cmd.Parameters.Add("@profileId", SqlDbType.VarChar, 100).Value      = ProfileId;
                cmd.Parameters.Add("@sellerStringId", SqlDbType.VarChar, 100).Value = SellerStringId;
                cmd.Parameters.Add("@modifiedby", SqlDbType.VarChar, 30).Value      = "User";
                cmd.Parameters.Add("@date", SqlDbType.SmallDateTime).Value          = DateTime.Now.Date.AddDays(-3);
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateProfileData-Profile ID" + ProfileId + ": " + ex.Message);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateProfileData-Profile ID" + ProfileId + ": " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(msg);
        }
Beispiel #9
0
        /// <summary>
        /// Update the notification of statup email
        /// </summary>
        /// <returns></returns>
        public static String UpdateFirstEmailNotify(Int32 UserID, Int16 status)
        {
            String     msg = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "UPDATE MppUser set DataImportAlert=@Status,StartDate=@Date,ModifiedOn=@ModifiedOn where MppUserID=@UserID";
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value          = UserID;
                cmd.Parameters.Add("@Status", SqlDbType.Bit).Value          = status;
                cmd.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value  = DateTime.Today;
                cmd.Parameters.Add("@ModifiedOn", SqlDbType.DateTime).Value = DateTime.Now;
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateFirstEmailNotify - " + ex.Message, UserID.ToString());
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("UpdateFirstEmailNotify - " + ex.Message, UserID.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(msg);
        }
Beispiel #10
0
        /// <summary>
        /// Update api attempts
        ///<param name="reportid">reportid</param>
        ///<param name="reporttype">reporttype</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateAPIAttemptStatusData(Int32 reportid, int reporttype)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateFailedAttemptStatus";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@ReportId", SqlDbType.Int).Value  = reportid;
                cmd.Parameters.Add("@Type", SqlDbType.Int).Value      = reporttype;
                cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value = DateTime.Now;
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateAPIStatusData-" + reportid + ": " + ex.Message);
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateAPIStatusData-" + reportid + ": " + ex.Message);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #11
0
        /// <summary>
        /// Update UserSkuData
        ///<param name="reportid">reportid</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateUserSkuData(Int32 userid, int count, Int64 campId, int status)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateSkuCount";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value     = userid;
                cmd.Parameters.Add("@Count", SqlDbType.Int).Value      = count;
                cmd.Parameters.Add("@campId", SqlDbType.BigInt).Value  = campId;
                cmd.Parameters.Add("@status", SqlDbType.TinyInt).Value = status;

                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateUserSkuData-" + ex.Message, userid.ToString());
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateUserSkuData-" + ex.Message, userid.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #12
0
        /// <summary>
        /// Update search term Inventory(sales,clicks,spend)
        ///<param name="Inventorytbl">Inventorytbl</param>
        ///<param name="userid">userid</param>
        ///<param name="reportid">reportid</param>
        ///<param name="status">status</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateSearchTermInventoryData(DataTable Inventorytbl, Int32 userid, Int32 reportid, ReportStatus status)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateSearchtermInventory";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@tblSearchterm", Inventorytbl);
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value     = userid;
                cmd.Parameters.Add("@ReportId", SqlDbType.Int).Value   = reportid;
                cmd.Parameters.Add("@Status", SqlDbType.Int).Value     = status;
                cmd.Parameters.Add("@RecordType", SqlDbType.Int).Value = (int)RecordType.SearchTerm;
                DataAccess.ExecuteScalarCommandForBulk(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateSearchTermInventoryData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateSearchTermInventoryData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #13
0
        /// <summary>
        /// Update keywords bids or Create negative keywords
        /// <param name="ReportID">ReportID</param>
        ///<param name="tbl">tbl</param>
        ///<param name="Type">Type</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateOptimizeLogData(Int32 ReportID, DataTable tbl, RecordType Type)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_CreateOptimizeLogReport";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@tblOptimizelog", tbl);
                cmd.Parameters.AddWithValue("@ReportID", ReportID);
                cmd.Parameters.AddWithValue("@Type", (int)Type);
                cmd.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value = DateTime.Today;
                DataAccess.ExecuteScalarCommandForBulk(cmd);
                return(res);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateOptimizeLogData-" + ReportID + ": " + ex.Message);
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateOptimizeLogData-" + ReportID + ": " + ex.Message);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #14
0
        /// <summary>
        /// Update user optimization processed or not
        /// <param name="ReportID">ReportID</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateOptimizeLocalReportProcess(Int32 ReportID, Int32 Status)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"UPDATE Reports set IsLocallyProcessed = @Status, ModifiedOn = @Date where ReportID = @ReportID";
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("@ReportID", ReportID);
                cmd.Parameters.AddWithValue("@Status", Status);
                cmd.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value = DateTime.Today;
                DataAccess.ExecuteScalarCommandForBulk(cmd);
                return(res);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateOptimizeLocalReportProcess-" + ReportID + ": " + ex.Message);
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateOptimizeLocalReportProcess-" + ReportID + ": " + ex.Message);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #15
0
        public static DataTable GetOptimizeData(RecordType Type)
        {
            String     msg = "";
            DataTable  dt  = new DataTable();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_GetOptimizedKeysToUpdateOnAmz";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@type", SqlDbType.Int).Value           = (int)Type;
                cmd.Parameters.AddWithValue("@date", SqlDbType.SmallDateTime).Value = DateTime.Today;
                dt = DataAccess.GetTable(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("GetOptimizeData - " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(dt);
        }
Beispiel #16
0
        public static DataTable GetActiveCamapignsByUsers()
        {
            String     msg = "";
            DataTable  dt  = new DataTable();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"SELECT distinct top 1 t.MppUserID,
                                         STUFF((SELECT distinct ',' + CAST(t1.RecordID AS VARCHAR(200))
                                         FROM Campaigns t1
                                         WHERE t.MppUserID = t1.MppUserID AND t1.Active = 1 AND t1.TempSKUCheck = 0
                                         FOR XML PATH(''), TYPE
                                         ).value('.', 'NVARCHAR(MAX)') 
                                         ,1,1,'') Records
                                        FROM MppUser t WHERE t.ProfileAccess=1 and t.Active=1 and EXISTS(SELECT * from Campaigns where t.MppUserID = MppUserID AND Active=1 AND TempSKUCheck = 0);";
                cmd.CommandType = CommandType.Text;
                dt = DataAccess.GetTable(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("GetUserForOneTimeSkuLoad - " + msg);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(dt);
        }
Beispiel #17
0
        /// <summary>
        /// Update Ads
        ///<param name="adstbl">adstbl</param>
        ///<param name="userid">userid</param>
        ///<param name="reportid">reportid</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateAdsData(DataTable adtbl, Int32 userid)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateAds";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@tblAds", adtbl);
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value         = userid;
                cmd.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value = DateTime.Now.Date;
                DataAccess.ExecuteScalarCommandForBulk(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateAdsData- " + ex.Message, userid.ToString());
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateAdsData- " + ex.Message, userid.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #18
0
        /// <summary>
        /// Get Active Campaigns formula
        ///<param name="UserId">UserId</param>
        /// </summary>
        /// <returns></returns>
        public static DataSet GetOptimizeSearchTermsAndFormula(int UserId)
        {
            String     msg = "";
            DataSet    ds  = new DataSet();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "Sbsp_GetOptimizeSearchTermsAndFormula";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@UserID", SqlDbType.Int).Value            = UserId;
                cmd.Parameters.AddWithValue("@enddate", SqlDbType.SmallDateTime).Value = DateTime.Now.Date.AddDays(-3);
                ds = DataAccess.GetDataSetForBulk(cmd);
            }

            catch (Exception ex)
            {
                msg = ex.Message;
                LogAPI.WriteLog("GetOptimizeSearchTermsAndFormula - " + msg, UserId.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(ds);
        }
Beispiel #19
0
		/// <summary>
		/// 创建空间图层
		/// </summary>
		/// <param name="tableStructureNode">VCT表结构节点</param>
		/// <param name="featureCodeNode">VCT要素编码节点</param>
		private FeatureLayer CreateFeatureLayer(TableStructureNode tableStructureNode, FeatureCodeNode featureCodeNode)
        {
            try
            {
                FeatureLayer featureLayer = null;
                ///获取要素集
                IFeatureDataset featureDataset = m_pIDataset as IFeatureDataset;


                //从配置文件读取图形类型
                string sGeometryType = "";
                Metadata.MetaTable pMetaTalbe = Metadata.MetaDataFile.MetaTabls[tableStructureNode.TableName] as Metadata.MetaTable;
                if (pMetaTalbe != null)
                {
                    sGeometryType = Metadata.MetaDataFile.GraphConfig.GetGraphTypeMark(pMetaTalbe.Type);
                }
                else
                {
                    LogAPI.WriteLog("未能获取【" + tableStructureNode.TableName + "】的图形类型!");
                    return null;
                }
                ///创建点实体
                if (sGeometryType == "Point")
                {
                    featureLayer = new PointLayer();
                   
                }
                 ///创建线实体
                else if (sGeometryType == "Line")
                {
                    featureLayer = new LineLayer();
                  
                }
                ///创建面实体
                else if (sGeometryType == "Polygon")
                {
                    featureLayer = new PolygonLayer();
                }
                else if (sGeometryType == "Annotation")
                {
                    featureLayer = new AnnotationLayer();
                }

                if (featureLayer != null)
                {
                    featureLayer.StructureNode = tableStructureNode;

                    IFeatureClass pFcls = CreateFeatureClass(featureDataset, tableStructureNode, featureCodeNode);
                    featureLayer.Table = pFcls as ITable;
                    featureLayer.UpdateFieldIndex();
                    return featureLayer;
                }
            }
            catch(Exception ex)
            {
                LogAPI.WriteErrorLog(ex);
            }
            return null;
        }
Beispiel #20
0
 /// <summary>
 /// 根据表名称获取配置表结构
 /// </summary>
 /// <param name="sTableName"></param>
 /// <returns></returns>
 public static MetaTable GetMetaTalbleByName(string sTableName)
 {
     try
     {
         return(m_pMetaTables[sTableName] as MetaTable);
     }
     catch (Exception ex)
     {
         LogAPI.WriteLog("未能获取【" + sTableName + "】的配置表结构,请检查该表是否在配置表中!");
         return(null);
     }
 }
Beispiel #21
0
 /// <summary>
 /// 根据表名称获取要素代码
 /// </summary>
 /// <param name="sTableName"></param>
 /// <returns></returns>
 public static string GetFeatureCodeByName(string sTableName)
 {
     try
     {
         return((m_pMetaTables[sTableName] as MetaTable).FeatureCode);
     }
     catch (Exception ex)
     {
         LogAPI.WriteLog("未能获取【" + sTableName + "】的要素代码,请检查该表是否在配置表中!");
         return("");
     }
 }
Beispiel #22
0
 public string GetFiledALisNameByCode(string strCode)
 {
     try
     {
         foreach (MetaDataField item in MetaDataFields)
         {
             if (item.Code == strCode)
             {
                 return(item.Name);
             }
         }
     }
     catch (Exception ex)
     {
         LogAPI.WriteLog("未能获取" + m_strTableName + "下的字段【" + strCode + "】的字段名称!");
     }
     return("");
 }
Beispiel #23
0
 /// <summary>
 /// 验证指定的要素是否在裁切范围内
 /// </summary>
 /// <param name="pFeatureGeometry"></param>
 /// <returns></returns>
 public virtual bool FeatureInCutRegion(IGeometry pFeatureGeometry)
 {
     try
     {
         if (pFeatureGeometry == null)
             return false;
         IRelationalOperator pRelation = m_CutGeometry as IRelationalOperator;
         if (pRelation.Crosses(pFeatureGeometry) || pRelation.Contains(pFeatureGeometry)
             || pRelation.Touches(pFeatureGeometry)|| pRelation.Overlaps(pFeatureGeometry)
             || pRelation.Within(pFeatureGeometry) || pRelation.Equals(pFeatureGeometry))
             return true;
         return false;
     }
     catch (Exception ex)
     {
         LogAPI.WriteLog("判断裁切范围时出错,系统将不对【" + StructureNode.TableName + "】进行裁切!\r\n");
         return false;
     }
 }
Beispiel #24
0
        /// <summary>
        /// Update Products Inventory
        ///<param name="Inventorytbl">Inventorytbl</param>
        ///<param name="userid">userid</param>
        ///<param name="reportid">reportid</param>
        ///<param name="recordtype">recordtype</param>
        ///<param name="status">status</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateProductInventoryData(DataTable Inventorytbl, Int32 userid, Int32 reportid, int recordtype, ReportStatus status, out String emailtoNotify)
        {
            String res = "";

            emailtoNotify = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateProductInventory";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@tblProducts", Inventorytbl);
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value     = userid;
                cmd.Parameters.Add("@ReportID", SqlDbType.Int).Value   = reportid;
                cmd.Parameters.Add("@Status", SqlDbType.Int).Value     = status;
                cmd.Parameters.Add("@RecordType", SqlDbType.Int).Value = recordtype;

                SqlParameter UserNotify = new SqlParameter("@Email", SqlDbType.VarChar, 100);
                UserNotify.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(UserNotify);

                DataAccess.ExecuteScalarCommandForBulk(cmd);
                emailtoNotify = Convert.ToString(UserNotify.Value);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateProductInventoryData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateProductInventoryData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #25
0
        /// <summary>
        /// Update Campaigns
        ///<param name="camptbl">camptbl</param>
        ///<param name="userid">userid</param>
        ///<param name="reportid">reportid</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateCampaignData(DataTable camptbl, Int32 userid, Int32 reportid, out String emailtoNotify)
        {
            String res = "";

            emailtoNotify = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Sbsp_UpdateCampaigns";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@tblCampaigns", camptbl);
                cmd.Parameters.Add("@UserID", SqlDbType.Int).Value         = userid;
                cmd.Parameters.Add("@ReportID", SqlDbType.Int).Value       = reportid;
                cmd.Parameters.Add("@RecordType", SqlDbType.Int).Value     = (int)RecordType.Campaign;
                cmd.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value = DateTime.Today.AddDays(-3);

                SqlParameter UserNotify = new SqlParameter("@Email", SqlDbType.VarChar, 100);
                UserNotify.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(UserNotify);

                DataAccess.ExecuteScalarCommand(cmd);
                emailtoNotify = Convert.ToString(UserNotify.Value);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateCampaignData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateCampaignData-" + reportid + ": " + ex.Message, userid.ToString());
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #26
0
        /// <summary>
        /// Update Report Status
        ///<param name="reportid">reportid</param>
        ///<param name="reporttype">reporttype</param>
        ///<param name="status">status</param>
        ///<param name="responsestatus">responsestatus</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateReportStatusData(Int32 IsSnapType, Int32 reportid, int reporttype, ReportStatus statustype, ResponseStatus responsestatus)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = "UpdateReportDataStatus";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@ReportId", SqlDbType.Int).Value   = reportid;
                cmd.Parameters.Add("@StatusType", SqlDbType.Int).Value = (int)statustype;
                cmd.Parameters.Add("@IsSnap", SqlDbType.Int).Value     = (int)IsSnapType;
                cmd.Parameters.Add("@Status", SqlDbType.Int).Value     = (int)responsestatus;
                cmd.Parameters.Add("@Type", SqlDbType.Int).Value       = reporttype;
                cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value  = DateTime.Now;
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateReportStatusData-" + reportid + ": " + ex.Message);
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateReportStatusData-" + reportid + ": " + ex.Message);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #27
0
        /// <summary>
        /// Update products from snap shot report
        ///<param name="snapid">snapid</param>
        ///<param name="reportid">reportid</param>
        ///<param name="reporttype">reporttype</param>
        /// </summary>
        /// <returns></returns>
        public static String UpdateSnapStatusData(String snapid, Int32 reportid, int reporttype, ResponseStatus responsestatus)
        {
            String     res = "";
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandText = @"Update ReportType set Snap_ReportId=@Snap_ReportId,SnapAttempt=0,ApiAttempt=0,SnapStatus=@Status,SnapReqDate=@Date,ModifiedOn=@Date
                                    where ReportId=@ReportId and RecordType=@Type";
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.Add("@ReportId", SqlDbType.Int).Value          = reportid;
                cmd.Parameters.Add("@Snap_ReportId", SqlDbType.VarChar).Value = snapid;
                cmd.Parameters.Add("@Status", SqlDbType.Int).Value            = (int)responsestatus;
                cmd.Parameters.Add("@Type", SqlDbType.Int).Value      = reporttype;
                cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value = DateTime.Now;
                DataAccess.ExecuteCommand(cmd);
            }
            catch (SqlException ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateSnapStatusData-" + reportid + ": " + ex.Message);
            }
            catch (Exception ex)
            {
                res = ex.Message;
                LogAPI.WriteLog("UpdateSnapStatusData-" + reportid + ": " + ex.Message);
            }
            finally
            {
                if (cmd != null)
                {
                    cmd.Dispose();
                }
            }
            return(res);
        }
Beispiel #28
0
 public IGeometry GetSubGeometry()
 {
     try
     {
         if (m_pIFeature == null)
             return null;
         if (m_CutGeometry == null)
             return (m_pIFeature as IFeature).Shape;
         IGeometry pFeatureShape = (m_pIFeature as IFeature).Shape;
         ITopologicalOperator pTop = m_CutGeometry as ITopologicalOperator;
         //if (pFeatureShape.GeometryType == esriGeometryType.esriGeometryLine||pFeatureShape.GeometryType == esriGeometryType.esriGeometryPolyline)
         //    return pTop.Intersect(pFeatureShape, esriGeometryDimension.esriGeometry0Dimension);
         //else if (pFeatureShape.GeometryType == esriGeometryType.esriGeometryPolygon)
         //{
         //    return pTop.Intersect(pFeatureShape, esriGeometryDimension.esriGeometry2Dimension);
         //}
         return pTop.Intersect(pFeatureShape, pFeatureShape.Dimension);
     }
     catch(Exception ex)
     {
         LogAPI.WriteLog("裁剪要素【"+(m_pIFeature.Table as IDataset).BrowseName+"】时出错!\r\n");
         return null;
     }
 }
Beispiel #29
0
        /// <summary>
        /// 创建空间参考
        /// </summary>
        /// <param name="headNode">VCT头节点</param>
        private ISpatialReference CreateProjection(HeadNode headNode)
        {
            try
            {
                string sPrjInfo = "";
                //根据投影参数中的长半轴值,来判断是什么坐标系统(北京54,西安80,WGS-84,其他地方坐标系)
                //北京54
                double dMajorAxis = headNode.MajorMax.Y;

                //读取参考椭球的名称 (名称,长半轴,扁率的倒数)
                string sProjection = headNode.Spheroid.Split(',')[0];
                dMajorAxis = Math.Abs(dMajorAxis - 6378245);
                //if (fabs( m_dSemiMajorAxis - 6378245) < 0.0001)
                if (dMajorAxis < 0.0001)
                {
                    sPrjInfo = string.Format("PROJCS[\"{0}\",GEOGCS[\"GCS_Beijing_1954\",DATUM[\"D_Beijing_1954\""
                        + ",SPHEROID[\"{1}\",6378140.0,298.257]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],"
                    + "PROJECTION[\"Gauss_Kruger\"],PARAMETER[\"False_Easting\",{2}],PARAMETER[\"False_Northing\",0.0],"
                    + "PARAMETER[\"Central_Meridian\",{3}],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],"
                    + "UNIT[\"Meter\",1.0]]", sProjection, "Gauss-Krueger", headNode.Excursion, headNode.Parametetor.OriginLongtitude);

                }
                //西安80
                else
                {
                    // sPrjInfo = string.Format("PROJCS["%s\",GEOGCS[\"GCS_Xian_1980\",DATUM[\"D_Xian_1980\",SPHEROID[\"%s\",6378140.0,298.257]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Gauss_Kruger\"],PARAMETER[\"False_Easting\",%s],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",%f],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]", m_strProjection, m_strSpheroid, sPianYi, m_lMeridian);
                    sPrjInfo = string.Format("PROJCS[\"{0}\",GEOGCS[\"GCS_Xian_1980\",DATUM[\"D_Xian_1980\","
                    + "SPHEROID[\"{1}\",6378140.0,298.257]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],"
                    + "PROJECTION[\"Gauss_Kruger\"],PARAMETER[\"False_Easting\",{2}],PARAMETER[\"False_Northing\",0.0],"
                    + "PARAMETER[\"Central_Meridian\",{3}],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],"
                    + "UNIT[\"Meter\",1.0]]", sProjection, "Gauss-Krueger", headNode.Parametetor.EastOffset, headNode.Parametetor.OriginLongtitude);
                }
                //将坐标信息写入到Prj文件
                string sPrjFilename = Application.StartupPath + "tempPrj.prj";
                FileStream fs = File.Create(sPrjFilename);
                StreamWriter sw = new StreamWriter(fs);
                sw.Write(sPrjInfo);
                sw.Close();
                fs.Close();

                //根据Prj文件生成空间参考
                ISpatialReferenceFactory ipSpatialFactory = new SpatialReferenceEnvironmentClass();
                ISpatialReference pSpatialReference = ipSpatialFactory.CreateESRISpatialReferenceFromPRJFile(sPrjFilename);
                pSpatialReference.SetDomain(headNode.MajorMin.X,headNode.MajorMax.X,headNode.MajorMin.Y,headNode.MajorMax.Y);//
                //设置精度,防止cut失败
                //设置六位小数精度。以保证导出时也是六位
                ISpatialReferenceTolerance ipSrTolerance = pSpatialReference as ISpatialReferenceTolerance;

                ipSrTolerance.XYTolerance = 0.000001;
                ipSrTolerance.MTolerance = 0.001;
                ipSrTolerance.ZTolerance = 0.001;

                ISpatialReferenceResolution ipSrResolution = pSpatialReference as ISpatialReferenceResolution;
                ipSrResolution.MResolution = 0.001;
                ipSrResolution.set_XYResolution(true, 0.000001);
                ipSrResolution.set_ZResolution(true, 0.001);

                //删除生成的Prj文件
                File.Delete(sPrjFilename);


                //ISpatialReference pSpatialReference;
                //ISpatialReferenceFactory pSpatialreferenceFactory;
                //pSpatialreferenceFactory = new SpatialReferenceEnvironmentClass();
                //IGeographicCoordinateSystem pGeographicCoordinateSystem;
                //pGeographicCoordinateSystem = pSpatialreferenceFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCS3Type.esriSRGeoCS_Xian1980);
                //pSpatialReference = pGeographicCoordinateSystem as ISpatialReference;
                //pSpatialReference.SetFalseOriginAndUnits(-180, -90, 1000000);//

                return pSpatialReference;
            }
            catch (Exception ex)
            {
                LogAPI.WriteLog("创建空间参考失败,系统默认创建空的空间参考!\r\n");
                LogAPI.WriteErrorLog(ex);
                ISpatialReference pSpatialReference = new UnknownCoordinateSystemClass();
                pSpatialReference.SetDomain(headNode.MajorMin.X, headNode.MajorMax.X, headNode.MajorMin.Y, headNode.MajorMax.Y);//
                return pSpatialReference;
            }
        }