Esempio n. 1
0
        public async Task <ActionResult> UpdateActivityStatus(UpdateActivityStatusRequest request)
        {
            _memoryCache.TryGetValue(_activitystatus, out bool status);
            if (request.Activity != status)
            {
                _memoryCache.Set(_lastactivitystatusset, DateTime.Now);
            }

            _memoryCache.Set(_activitystatus, request.Activity);
            _memoryCache.Set(_activityduration, request.Duration);

            try
            {
                _memoryCache.TryGetValue(_lastactivitystatusset, out DateTime? lastActivityStatusSet);
                await _hubContext.Clients.All.ActivityUpdated(request.Activity, request.Duration, lastActivityStatusSet);
            }
            catch (Exception)
            {
            }

            return(Ok());
        }
Esempio n. 2
0
        public UpdateActivityStatusResponse UpdateActivityStatusByUser(UpdateActivityStatusRequest updateActivityStatusRequest)
        {
            UpdateActivityStatusResponse resp = new UpdateActivityStatusResponse();
            List<SqlParameter> sqlParam = new List<SqlParameter>();

            DBUtility.AddSqlParam(sqlParam, "@Status", SqlDbType.NVarChar, updateActivityStatusRequest.ActivityStatusName);
            string sqlStr1 = @"select Id from UserActivityStatus  where Status =@Status";
            int activityStatusId = 0;

            DataSet ds = DBUtility.ExecuteDataset(sqlStr1, sqlParam);
            if (DBUtility.hasResult(ds))
            {
                activityStatusId = Convert.ToInt32(ds.Tables[0].Rows[0]["Id"]);
            }
            sqlParam.Clear();
            DBUtility.AddSqlParam(sqlParam, "@UserInfo", SqlDbType.BigInt, updateActivityStatusRequest.UserId);
            DBUtility.AddSqlParam(sqlParam, "@Activity", SqlDbType.BigInt, updateActivityStatusRequest.ActivityId);

            string sqlStr2 = @"select * from UserActivity where
                            UserInfo =@UserInfo and Activity =@Activity ";

            try
            {
                DataSet ds2 = DBUtility.ExecuteDataset(sqlStr2, sqlParam);
                if (DBUtility.hasResult(ds2))
                {
                    sqlParam.Clear();
                    DBUtility.AddSqlParam(sqlParam, "@UserInfo", SqlDbType.BigInt, updateActivityStatusRequest.UserId);
                    DBUtility.AddSqlParam(sqlParam, "@Activity", SqlDbType.BigInt, updateActivityStatusRequest.ActivityId);
                    DBUtility.AddSqlParam(sqlParam, "@LastModifiedDate", SqlDbType.DateTime, DateTime.Now);
                    DBUtility.AddSqlParam(sqlParam, "@Status", SqlDbType.BigInt, activityStatusId);
                    string sqlStr3 = @"update UserActivity set Status = @Status, LastModifiedDate = @LastModifiedDate where UserInfo=@UserInfo and Activity=@Activity ";
                    //if record exist, update it
                    if (DBUtility.ExecuteNonQuery(sqlStr3, sqlParam) == 1)
                    {
                        resp.Result = true;
                        resp.Message = "ActivityStatus successfully updated ";
                        return resp;
                    }
                    else
                    {
                        // return "Database update failed.";

                        throw new ServiceException("update database failed.");
                    }
                }
                else
                {
                    //record does not exist, insert a new one
                    sqlParam.Clear();
                    DBUtility.AddSqlParam(sqlParam, "@UserInfo", SqlDbType.BigInt, updateActivityStatusRequest.UserId);
                    DBUtility.AddSqlParam(sqlParam, "@Activity", SqlDbType.BigInt, updateActivityStatusRequest.ActivityId);
                    DBUtility.AddSqlParam(sqlParam, "@Status", SqlDbType.BigInt, activityStatusId);
                    DBUtility.AddSqlParam(sqlParam, "@CreatedOn", SqlDbType.DateTime, DateTime.Now.ToString(ConfigurationManager.AppSettings["DateFormat"]));
                    DBUtility.AddSqlParam(sqlParam, "@LastModifiedDate", SqlDbType.DateTime, DateTime.Now.ToString(ConfigurationManager.AppSettings["DateFormat"]));
                    DBUtility.AddSqlParam(sqlParam, "@LastModifiedBy", SqlDbType.NVarChar, "System");

                    string sqlStr4 = @"insert into UserActivity(UserInfo,Activity,Status,CreatedOn,LastModifiedDate,LastModifiedBy)
                               values(@UserInfo,@Activity,@Status,@CreatedOn,@LastModifiedDate,@LastModifiedBy)";

                    if (DBUtility.ExecuteNonQuery(sqlStr4, sqlParam) == 1)
                    {
                        resp.Result = true;
                        resp.Message = "ActivityStatus  inserted";
                        return resp;
                    }
                    else
                    {
                        throw new ServiceException("insert into database failed.");
                    }
                }
            }

            catch (ServiceException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw e;
            }
        }