예제 #1
0
        /// <summary>
        /// Insert a Message 
        /// </summary>
        /// <returns>Success status code</returns>
        public int InsertMessage(MessageModel message)
        {
            int result = 0;

            string cmd = "INSERT INTO Messages(GlobalID, TargetUser_FK, SourceUser_FK, SendDate, Message, Title, Latitude, Longitude, IsEvent, EventStartDate)";
            cmd += "VALUES(@GlobalID, @TargetUser_FK, @SourceUser_FK, @SendDate, @Message, @Title, @Latitude, @Longitude, @IsEvent, @EventStartDate)";

            SqlParameter globalid = new SqlParameter("@GlobalID", message.GlobalID);
            SqlParameter target = new SqlParameter("@TargetUser_FK", message.TargetUserID);
            SqlParameter source = new SqlParameter("@SourceUser_FK", message.SourceUserID);
            SqlParameter senddate = new SqlParameter("@SendDate", DateTime.UtcNow);
            SqlParameter messageparam = new SqlParameter("@Message", message.Message);
            SqlParameter title = new SqlParameter("@Title", message.Title);
            SqlParameter latitude = new SqlParameter("@Latitude", message.Latitude);
            SqlParameter longitude = new SqlParameter("@Longitude", message.Longitude);
            SqlParameter isevent = new SqlParameter("@IsEvent", message.IsEvent);
            SqlParameter startdate = new SqlParameter("@EventStartDate", DateTime.UtcNow);

            if(message.IsEvent)
                startdate = new SqlParameter("@EventStartDate", message.EventStartDate);

            try
            {
                result = DatabaseHelper.ExecuteNonQuery(cmd, _instance._connectionString, globalid, target, source, senddate, messageparam,
                    title, latitude, longitude, isevent, startdate);
            }
            catch (Exception ex)
            {
                ExceptionManager.Instance.InsertLogMessage(new LogMessageModel(LogStatus.Error, ex.Message, -1));
                result = -1;
            }

            return result;
        }
예제 #2
0
        /// <summary>
        /// Get Messages that have been received after the provided date
        /// </summary>
        public List<MessageModel> GetUserMessagesByDate(DateTime date, string userid)
        {
            List<MessageModel> messages = new List<MessageModel>();

            string cmd = "SELECT * FROM Messages WHERE SendDate > @SendDate and TargetUser_FK = @TargetUser_FK";

            try
            {
                SqlParameter dateparam = new SqlParameter("@SendDate", date);
                SqlParameter idparam = new SqlParameter("@TargetUser_FK", userid);

                DataSet ds = DatabaseHelper.ExecuteQuery(cmd, _instance._connectionString, dateparam, idparam);
                if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        MessageModel model = new MessageModel();
                        model.GlobalID = row["GlobalID"].ToString();
                        model.IsEvent = bool.Parse(row["IsEvent"].ToString());
                        model.Latitude = double.Parse(row["Latitude"].ToString());
                        model.Longitude = double.Parse(row["Longitude"].ToString());
                        model.Message = row["Message"].ToString();
                        model.SendDate = DateTime.Parse(row["SendDate"].ToString());
                        model.SourceUserID = row["SourceUser_FK"].ToString();
                        model.TargetUserID = row["TargetUser_FK"].ToString();
                        model.Title = row["Title"].ToString();

                        if(!string.IsNullOrEmpty(row["EventStartDate"].ToString()))
                            model.EventStartDate = DateTime.Parse(row["EventStartDate"].ToString());

                        messages.Add(model);
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Instance.InsertLogMessage(new LogMessageModel(LogStatus.Error, ex.Message, -1));

            }

            return messages;
        }