private void WriteHttpLog(RequestTypeEnum requestType, string traceId, string requestBody, string operation, int deviceId) { string DeviceUuid = _deviceService.GetDeviceById_Pref(deviceId).ConfigureAwait(false).GetAwaiter().GetResult()?.DeviceUuid; var now = DateTime.Now; var group = now.ToString("yyyyMMddHHmm"); long.TryParse(group, out long requestGroup); HttpLog _log = new HttpLog() { TraceId = traceId, RequestTime = now, RequestType = (int)requestType, RequestGroup = requestGroup, RemoteIpAddress = CommonHelper.GetClientIpAddress(), RemotePort = CommonHelper.GetClientIpPort(), IdentityIsAuthenticated = true, IdentityName = DeviceUuid, RequestBody = requestBody, RequestContentLength = requestBody == null ? 0 : Encoding.Default.GetByteCount(requestBody), Operation = operation, ServerName = CommonHelper.GetServerName() }; this._logStore.AddQueue(_log); }
public async void PushNotifyToAccounts(string orderCode, RequestTypeEnum type) { try { var mess = string.Empty; IEnumerable <Entities.Account> lstAcc = new List <Entities.Account>(); switch (type) { case RequestTypeEnum.CSRequestDestroy: { mess = string.Format("Mã đơn {0} - CSKH báo hủy đơn!", orderCode); lstAcc = _accountBo.GetListByRole(UserTypeEnum.KitchenManager.GetHashCode()); break; } case RequestTypeEnum.KitchenDestroy: { mess = string.Format("Mã đơn {0} - Quản lý bếp đã hủy đơn, cần báo lại khách!", orderCode); lstAcc = _accountBo.GetListByRole(UserTypeEnum.CustomerService.GetHashCode()); break; } } foreach (var acc in lstAcc) { var key = KeyCacheHelper.GenCacheKeyStatic(ConstKeyCached.NotifyAccount, acc.UserName); var score = DateTime.Now.Ticks; await cacheClient.SortedSetAddAsync <string>(key, mess, score); } } catch (Exception ex) { Logger.Error(ex); } }
private void WriteHttpLog(DateTime now, RequestTypeEnum requestType, string traceId, string requestBody, string operation) { if (_settings.Value.UseMonitor) { var group = now.ToString("yyyyMMddHHmm"); long.TryParse(group, out long requestGroup); _monitorTimeDataManager.AddQueue(new TimeData(group, MonitorContextKeys.signalr, 1)); HttpLog _log = new HttpLog() { TraceId = traceId, RequestTime = now, RequestType = (int)requestType, RequestGroup = requestGroup, RemoteIpAddress = CommonHelper.GetClientIpAddress(), RemotePort = CommonHelper.GetClientIpPort(), IdentityIsAuthenticated = Current.Device != null, IdentityName = Current.Device?.DeviceUuid, RequestBody = requestBody, RequestContentLength = requestBody == null ? 0 : Encoding.Default.GetByteCount(requestBody), Operation = operation, ServerName = CommonHelper.GetServerName() }; this._logStore.AddQueue(_log); } }
protected DriverLogin IsTokenValid(RequestTypeEnum requestType) { var requestParams = Request.GetQueryNameValuePairs().ToList(); if (requestParams.Count(x => x.Key.Equals("AuthToken")) == 0) { throw new Exception("Authentication token is required."); } string authToken = requestParams.FirstOrDefault(x => x.Key.Equals("AuthToken")).Value; var driverLogin = db.DriverLogins.FirstOrDefault(x => x.Token == authToken); if (driverLogin == null) { throw new Exception("Authentication token is invalid."); } db.APIRequestLogs.Add(new APIRequestLog() { Id = Guid.NewGuid(), CreatedAt = DateTime.Now, RequestType = (int)requestType, }); db.SaveChanges(); return(driverLogin); }
public ActionResult Delivered(string userId, RequestTypeEnum type) { ViewBag.UserId = userId; ViewBag.Type = type; ViewBag.Status = RequestStatusEnum.Delivered; PopulateCities(); return(PartialView("Delivered")); }
public ActionResult InProgress(string userId, RequestTypeEnum type) { ViewBag.UserId = userId; ViewBag.Type = type; ViewBag.Status = RequestStatusEnum.Inprogress; PopulateCities(); return(PartialView("InProgress")); }
// GET: path public ActionResult New(string userId, RequestTypeEnum type) { ViewBag.UserId = userId; ViewBag.Type = type; ViewBag.Status = RequestStatusEnum.New; PopulateCities(); return(PartialView("New")); }
public async Task <HttpResponseMessage> GetMapping(RequestTypeEnum type) { if (_client == null) { return(null); } if (string.IsNullOrEmpty(_baseUri)) { Trace.Write("baseURI empty"); throw new Exception("_baseUri is empty"); } return(await _client.GetAsync(type + "?serviceName=" + _serviceName)); }
private async Task <Response> DoRequestAsync(RequestTypeEnum requestMethodType, Request requestObject) { CancellationTokenSource = new CancellationTokenSource(requestObject.Timeout * 1000); using (var client = new HttpClient()) { client.Timeout = TimeSpan.FromSeconds(requestObject.Timeout); client.MaxResponseContentBufferSize = requestObject.MaxResponseContentBufferSize; if (!string.IsNullOrEmpty(requestObject.Host)) { client.BaseAddress = new Uri(requestObject.Host); } HttpResponseMessage response; if (requestMethodType == RequestTypeEnum.Get) { response = await client.GetAsync(requestObject.Url, CancellationTokenSource.Token); } else { throw new RequestMethodNotImplementedException(); } if (response.IsSuccessStatusCode) { var deserializeSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore, }; var result = await response.Content.ReadAsStringAsync(); var model = JsonConvert.DeserializeObject <Response>(result, deserializeSettings); return(model); } else { var result = await response.Content.ReadAsStringAsync(); var StatusCode = (int)response.StatusCode; var Message = await response.Content.ReadAsStringAsync(); throw new RequestFailureException(StatusCode, Message); } } }
/// <summary> /// Translate from <see cref="RequestTypeEnum"/> to a string. /// </summary> /// <param name="requestType">The request type.</param> /// <returns>A string representation of the <paramref name="requestType"/>.</returns> public static string TranslateRequestType(RequestTypeEnum requestType) { switch (requestType) { case RequestTypeEnum.Create: return(Create); case RequestTypeEnum.Update: return(Update); case RequestTypeEnum.Get: return(Get); default: throw new ArgumentException(String.Format("Unknown request type: \"{0}\".", requestType)); } }
private HttpWebRequest CreateRequest(string url, string oDataQuery, RequestTypeEnum method, string acceptContentType = "application/json") { if (!string.IsNullOrEmpty(oDataQuery)) { url += "?" + oDataQuery; } var request = (HttpWebRequest)WebRequest.Create(url); request.Method = method.ToString(); request.ContentType = "application/json"; if (!string.IsNullOrEmpty(acceptContentType)) { request.Accept = acceptContentType; } request.Headers.Add("Authorization", "Bearer " + _accessTokenDelegate()); return(request); }
/// <summary> /// Converts a RequestTypeEnum value to a corresponding string value /// </summary> /// <param name="enumValue">The RequestTypeEnum value to convert</param> /// <returns>The representative string value</returns> public static string ToValue(RequestTypeEnum enumValue) { switch (enumValue) { //only valid enum elements can be used //this is necessary to avoid errors case RequestTypeEnum.PROCESSED: case RequestTypeEnum.SHIPPED: case RequestTypeEnum.EXCEPTION: case RequestTypeEnum.RETURNED: case RequestTypeEnum.ENUM_DELIVERY_ATTEMPT: case RequestTypeEnum.ENUM_OUT_FOR_DELIVERY: case RequestTypeEnum.DELIVERED: return(stringValues[(int)enumValue]); //an invalid enum value was requested default: return(null); } }
public ErrorCodes UpdateRequestType(int orderId, RequestTypeEnum type, string reasonNote = "", string user = "") { ErrorCodes errorCodes = ErrorCodes.Success; try { var result = _orderDal.UpdateRequestType(orderId, (short)type, reasonNote, user); if (result <= 0) { errorCodes = ErrorCodes.BusinessError; } else { // history khi thay đổi request type sẽ không có thông tin status và delivery status _orderHistoryBo.Insert(new OrderHistory { change_log = reasonNote, created_by = user, order_id = orderId, request_type = (short)type }); // Push notify if (type == RequestTypeEnum.CSRequestDestroy || type == RequestTypeEnum.KitchenDestroy) { _notifyService.PushNotifyToAccounts(orderId.ToString(), type); } } } catch (Exception ex) { Logger.Error(ex); errorCodes = ErrorCodes.Exception; } return(errorCodes); }
public Request(RequestTypeEnum requestType) { RequestTypeAsString = TranslateRequestType(requestType); }
public String GetStats(RequestTypeEnum requestType) { Hashtable stats = null; switch (requestType) { case RequestTypeEnum.ClanTag: stats = new Hashtable(); stats["type"] = "Success"; stats["message"] = "OK"; stats["fetchTime"] = _fetchTime.ToString("F3"); stats["age"] = _age.ToString("F1"); Hashtable data = new Hashtable(); data["clanTag"] = _clanTag; stats["data"] = data; return JSON.JsonEncode(stats); case RequestTypeEnum.Overview: stats = (Hashtable)JSON.JsonDecode(_overviewStats); stats["fetchTime"] = _fetchTime.ToString("F3"); stats["age"] = _age.ToString("F1"); return JSON.JsonEncode(stats); case RequestTypeEnum.Weapon: stats = (Hashtable)JSON.JsonDecode(_weaponStats); stats["fetchTime"] = _fetchTime.ToString("F3"); stats["age"] = _age.ToString("F1"); return JSON.JsonEncode(stats); case RequestTypeEnum.Vehicle: stats = (Hashtable)JSON.JsonDecode(_vehicleStats); stats["fetchTime"] = _fetchTime.ToString("F3"); stats["age"] = _age.ToString("F1"); return JSON.JsonEncode(stats); default: return String.Empty; } }
protected EmailDto SendEmailForUserRequest(User user,IUser current, User creator,bool isDeleted, int requestId,int requestNumber, RequestTypeEnum requestType,bool isFromComment) { string to = null; switch(current.UserRole) { case UserRole.Employee: if(user.Manager == null || string.IsNullOrEmpty(user.Manager.Email)) { Log.ErrorFormat("Cannot send e-mail (request {0},requestType {1}) from user {2} to manager - no manager or empty email",requestId,requestType,user.Id); return null; } to = user.Manager.Email; break; case UserRole.DismissedEmployee: if (user.Manager == null || string.IsNullOrEmpty(user.Manager.Email)) { Log.ErrorFormat("Cannot send e-mail (request {0},requestType {1}) from user {2} to manager - no manager or empty email", requestId, requestType, user.Id); return null; } to = user.Manager.Email; break; case UserRole.Manager: //Мыло отключено для кадровиков, т.к. оно им не надо оказалось. /*foreach (User u in user.Personnels) { if (string.IsNullOrEmpty(u.Email)) Log.ErrorFormat("Cannot send e-mail (request {0},requestType {1}) from manager {2} to personnel manager {3} - empty email", requestId, requestType, current.Id, u.FullName); else { if (string.IsNullOrEmpty(to)) to = u.Email; else to += ";" + u.Email; } }*/ if ((creator.UserRole & UserRole.Manager) > 0) { if (string.IsNullOrEmpty(user.Email)) Log.ErrorFormat( "Cannot send e-mail (request {0},requestType {1}) from manager {2} to user - empty email", requestId, requestType, current.Id); else { if (string.IsNullOrEmpty(to)) to = user.Email; else to += ";" + user.Email; } } if (string.IsNullOrEmpty(to)) return null; break; case UserRole.PersonnelManager: if ((creator.UserRole & UserRole.PersonnelManager) > 0 || isDeleted) { if (user.Manager == null || string.IsNullOrEmpty(user.Manager.Email)) Log.ErrorFormat( "Cannot send e-mail (request {0},requestType {1}) from personnel manager {2} to manager - no manager or empty email", requestId, requestType, current.Id); else to = user.Manager.Email; if (string.IsNullOrEmpty(user.Email)) Log.ErrorFormat( "Cannot send e-mail (request {0},requestType {1}) from personnel manager {2} to user - empty email", requestId, requestType, current.Id); else { if (string.IsNullOrEmpty(to)) to = user.Email; else to += ";" + user.Email; } } if (string.IsNullOrEmpty(to)) return null; break; } string body; string subject = GetSubjectAndBody(current, requestId, requestNumber, requestType,isDeleted,out body); return SendEmail(to, subject, body); }
public Response(RequestTypeEnum type) { RequestType = type; SubResponses = new List <Response>(); }
protected string GetSubjectAndBody(IUser current,int requestId,int requestNumber, RequestTypeEnum requestType, bool isDeleted, out string body) { string requestTypeStr; switch(requestType) { case RequestTypeEnum.Absence: requestTypeStr = "Заявка на неявку"; break; case RequestTypeEnum.Dismissal: requestTypeStr = "Заявка на увольнение"; break; case RequestTypeEnum.Employment: requestTypeStr = "Заявка на прием на работу"; break; case RequestTypeEnum.HolidayWork: requestTypeStr = "Заявка на оплату праздничных и выходных дней"; break; case RequestTypeEnum.Mission: requestTypeStr = "Заявка на командировку"; break; case RequestTypeEnum.Sicklist: requestTypeStr = "Заявка на больничный"; break; case RequestTypeEnum.TimesheetCorrection: requestTypeStr = "Заявка на корректировку табеля"; break; case RequestTypeEnum.Vacation: requestTypeStr = "Заявка на отпуск"; break; case RequestTypeEnum.ChildVacation: requestTypeStr = "Заявка на отпуск по уходу за ребенком"; break; default: throw new ArgumentException(string.Format("Unknown request type {0}",(int)requestType)); } string acceptOrReject = isDeleted ? " отклонена" : " одобрена"; body = requestTypeStr + " номер " + requestNumber + acceptOrReject + " пользователем " + current.Name; string subject = isDeleted ? "Отклонение заявки" : "Одобрение заявки"; return subject; }
public void UpdateStatus(RequestStatusEnum status, RequestTypeEnum type, string description) { this.Status = status; this.Type = type; this.Description = description; }
public bool ValidStats(RequestTypeEnum requestType) { if (String.IsNullOrEmpty(_personaId) && String.IsNullOrEmpty(_name)) { GeneralStatus = "PersonaId and Name empty!"; return false; } /* ClanTag request may still succeed even if generalStatus is not Success, so ignore generalStatus on ClanTag requests */ if (requestType != RequestTypeEnum.ClanTag && _generalStatus != String.Empty && !_generalStatus.Contains("Success")) { return false; } switch (requestType) { case RequestTypeEnum.ClanTag: if (_clanTag.CompareTo("@NotAClanTag@") == 0) { return false; } break; case RequestTypeEnum.Overview: if (_overviewStats == String.Empty || _overviewStatsError != String.Empty) { if (_overviewStatsError != String.Empty) GeneralStatus = "Error, details in OverviewStatsError"; return false; } break; case RequestTypeEnum.Weapon: if (_weaponStats == String.Empty || _weaponStatsError != String.Empty) { if (_weaponStatsError != String.Empty) GeneralStatus = "Error, details in WeaponStatsError"; return false; } break; case RequestTypeEnum.Vehicle: if (_vehicleStats == String.Empty || _vehicleStatsError != String.Empty) { if (_vehicleStatsError != String.Empty) GeneralStatus = "Error, details in VehicleStatsError"; return false; } break; default: return false; } return true; }
public CommentsModel GetCommentsModel(int id, RequestTypeEnum typeId) { CommentsModel commentModel = new CommentsModel { RequestId = id, RequestTypeId = (int)typeId, Comments = new List<RequestCommentModel>(), IsAddAvailable = /*AuthenticationService.CurrentUser.UserRole == UserRole.PersonnelManager &&*/ id > 0, }; if (id == 0) return commentModel; switch (typeId) { case RequestTypeEnum.Appointment: Appointment entity = AppointmentDao.Load(id); if ((entity.Comments != null) && (entity.Comments.Count() > 0)) { commentModel.Comments = entity.Comments.OrderBy(x => x.DateCreated).ToList(). ConvertAll(x => new RequestCommentModel { Comment = x.Comment, CreatedDate = x.DateCreated.ToString(), Creator = x.User.FullName, }); } break; case RequestTypeEnum.AppointmentReport: AppointmentReport rep = AppointmentReportDao.Load(id); if ((rep.Comments != null) && (rep.Comments.Count() > 0)) { commentModel.Comments = rep.Comments.OrderBy(x => x.DateCreated).ToList(). ConvertAll(x => new RequestCommentModel { Comment = x.Comment, CreatedDate = x.DateCreated.ToString(), Creator = x.User.FullName, }); } break; default: throw new ValidationException(string.Format(StrInvalidCommentType, (int)typeId)); } return commentModel; //Vacation vacation = VacationDao.Load(id); }
public async Task <ResultModel> CallWebService(string endPoint, RequestTypeEnum requestTypeEnum, object obj = default) { try { var httpResponse = new HttpResponseMessage(); switch (requestTypeEnum) { case RequestTypeEnum.GET: httpResponse = await _taxaJurosProvider.GetAsync(endPoint); break; case RequestTypeEnum.POST: httpResponse = await _taxaJurosProvider.PostAsync(endPoint, obj); break; case RequestTypeEnum.PUT: httpResponse = await _taxaJurosProvider.PutAsync(endPoint, obj); break; case RequestTypeEnum.DELETE: httpResponse = await _taxaJurosProvider.DeleteAsync(endPoint); break; default: new ResultModel { Success = false, Error = new ErrorModel { ErrorCode = "0", ErrorMessage = "Nenhuma requisição selecionada", }, ResultData = null }; break; } if (!httpResponse.IsSuccessStatusCode) { var contentResult = await httpResponse.Content.ReadAsStringAsync(); if (((int)httpResponse.StatusCode) >= 400 && ((int)httpResponse.StatusCode) < 500) { throw new Exception(contentResult); } throw new Exception(ERRO); } var json = await httpResponse.Content.ReadAsStringAsync(); var resultCore = JsonConvert.DeserializeObject <ResultCoreModel>(json); return(new ResultModel { Error = resultCore.Error, Success = resultCore.Success, ResultData = Convert.ToString(resultCore.ResultData) }); } catch (Exception ex) { throw ex; } }
private String PerformLookup(String name, RequestTypeEnum requestType, DateTime startTime, double minWaitTime) { DebugWrite("Performing lookup for player '" + name + "' with requestType '" + requestType + "'...", 4); PlayerStats stats = MySqlLookup(name, requestType); if (!isEnabled) { DebugWrite("Plugin disabled, PerformLookup aborting...", 6); return String.Empty; } if (!stats.ValidStats(requestType)) { /* Don't fetch stats if there is a persisted error for the request type */ String messageValue = null; switch (requestType) { case RequestTypeEnum.Overview: if (stats.OverviewStatsError != String.Empty) { messageValue = stats.OverviewStatsError; } break; case RequestTypeEnum.Weapon: if (stats.WeaponStatsError != String.Empty) { messageValue = stats.WeaponStatsError; } break; case RequestTypeEnum.Vehicle: if (stats.VehicleStatsError != String.Empty) { messageValue = stats.VehicleStatsError; } break; case RequestTypeEnum.ClanTag: default: break; } if (messageValue != null) { DebugWrite("No valid stats for player '" + name + "' with requestType '" + requestType + "'", 2); DebugWrite(" due to cached error: " + messageValue, 3); Hashtable response = new Hashtable(); response["type"] = "Error"; response["message"] = messageValue; return JSON.JsonEncode(response); } DebugWrite("No valid stats for player '" + name + "' with requestType '" + requestType + "' found in MySQL-database. Fetching stats...", 5); TimeSpan timeElapsed = DateTime.Now.Subtract(startTime); if (timeElapsed.TotalSeconds < minWaitTime) { DebugWrite("Waiting for " + (minWaitTime - timeElapsed.TotalSeconds) + " seconds to avoid Battlelog throtteling...", 5); Thread.Sleep((int)(minWaitTime - timeElapsed.TotalSeconds) * 1000); } try { stats = BattlelogLookup(stats, requestType); } catch (Exception e) { DebugWrite("BattlelogLookup for player '" + name + "' with requestType '" + requestType + "' failed!", 2); DebugWrite(" EXCEPTION: " + e.ToString(), 3); Hashtable response = new Hashtable(); response["type"] = "Error"; response["message"] = e.Message; return JSON.JsonEncode(response); // No insert into database } } else { return stats.GetStats(requestType); } if (!isEnabled) { DebugWrite("Plugin disabled, PerformLookup aborting...", 6); return String.Empty; } Object[] insertData = new Object[2]; insertData[0] = stats; insertData[1] = requestType; new Thread(new ParameterizedThreadStart(MySqlInsert)).Start(insertData); if (stats.ValidStats(requestType)) { return stats.GetStats(requestType); } else { DebugWrite("Fetching stats for player '" + name + "' with requestType '" + requestType + "' failed!", 2); DebugWrite(" General Status: " + stats.GeneralStatus, 3); Hashtable response = new Hashtable(); response["type"] = "Error"; response["message"] = stats.GeneralStatus; return JSON.JsonEncode(response); } }
public CommentsModel GetCommentsModel(int id, RequestTypeEnum typeId) { bool isAddAvailable = id > 0; if (isAddAvailable) { if (typeId == RequestTypeEnum.HelpServiceRequest) { HelpServiceRequest request = HelpServiceRequestDao.Load(id); isAddAvailable = (((CurrentUser.Id == request.Creator.Id) && ((CurrentUser.UserRole & UserRole.Manager) == UserRole.Manager || (CurrentUser.UserRole & UserRole.ConsultantPersonnel) == UserRole.ConsultantPersonnel || (CurrentUser.UserRole & UserRole.Employee) == UserRole.Employee)) || (request.Consultant != null && CurrentUser.Id == request.Consultant.Id && CurrentUser.UserRole == UserRole.ConsultantOutsourcing) || (request.Consultant != null && CurrentUser.Id == request.Consultant.Id && CurrentUser.UserRole == UserRole.PersonnelManager) || (request.Consultant != null && CurrentUser.Id == request.Consultant.Id && CurrentUser.UserRole == UserRole.ConsultantPersonnel) ); } } CommentsModel commentModel = new CommentsModel { RequestId = id, RequestTypeId = (int)typeId, Comments = new List<RequestCommentModel>(), IsAddAvailable = isAddAvailable , }; if (id == 0) return commentModel; switch (typeId) { case RequestTypeEnum.HelpServiceRequest: HelpServiceRequest entity = HelpServiceRequestDao.Load(id); if ((entity.Comments != null) && (entity.Comments.Count() > 0)) { commentModel.Comments = entity.Comments.OrderBy(x => x.DateCreated).ToList(). ConvertAll(x => new RequestCommentModel { Comment = x.Comment, CreatedDate = x.DateCreated.ToString(), Creator = x.User.FullName, }); } break; default: throw new ValidationException(string.Format(AppointmentBl.StrInvalidCommentType, (int)typeId)); } return commentModel; }
private BackOfficeUserManagementResult CreateOrUpdateUser(BackOfficeUserManagementData userData, RequestTypeEnum requestType) { VBMCallDispatcher callDispatcher = new VBMCallDispatcher(); BackOfficeUserManagementRequest request = new BackOfficeUserManagementRequest { User = userData }; request.RequestType = requestType; var response = new BackOfficeUserManagementResponse(); response = callDispatcher.DispatchAction <BackOfficeUserManagementRequest, BackOfficeUserManagementResponse>(TransactionNameConstants.CreateUserTransaction, MethodTypeEnum.Execute, Channels.SharedAspects, request); return(response.Result); }
private PlayerStats BattlelogLookup(PlayerStats stats, RequestTypeEnum requestType) { String name = stats.PlayerName; String result = String.Empty; String webClientResponse = String.Empty; WebClient webClient = new WebClient(); String userAgent = "Mozilla/5.0 (compatible; Procon 1; CBattlelogCache)"; webClient.Headers.Add("user-agent", userAgent); DebugWrite("BattlelogLookup created WebClient...", 6); if (stats.GeneralStatus.Contains("Player not found")) { stats.GeneralStatus = "Player not found, additional BattlelogLookup aborted!"; return stats; } stats.Age = 0.0D; DateTime startTime = DateTime.Now; if (String.IsNullOrEmpty(stats.PersonaId) || requestType == RequestTypeEnum.ClanTag) { try { DebugWrite("No personaId for player or requestType was clanTag...", 6); webClientResponse = DownloadWebPage(webClient, "http://battlelog.battlefield.com/bf3/user/" + name, ref result); if (webClientResponse != String.Empty) { throw new BattlelogLookupException("DownloadWebPage(New Persona or ClanTag) failed! " + webClientResponse); } if (!isEnabled) { DebugWrite("Plugin disabled, BattlelogLookup aborting...", 6); stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; return stats; } MatchCollection pid = Regex.Matches(result, @"bf3/soldier/" + name + @"/stats/(\d+)(['""]|/\s*['""]|/[^/'""]+)", RegexOptions.IgnoreCase | RegexOptions.Singleline); String personaId = String.Empty; DebugWrite("Extracting personaId...", 6); foreach (Match match in pid) { Match nonPC = Regex.Match(match.Groups[2].Value.Trim(), @"(ps3|xbox)", RegexOptions.IgnoreCase); if (match.Success && !nonPC.Success) { personaId = match.Groups[1].Value.Trim(); break; } else if (nonPC.Success) { DebugWrite("Ignoring non-PC (" + match.Groups[2].Value.Trim() + ") personaId of " + match.Groups[1].Value.Trim(), 4); } } stats.PersonaId = personaId; if (stats.PersonaId.Length == 0) { DebugWrite("Could not find personaId for player '" + stats.PlayerName + "'", 5); stats.GeneralStatus = "Could not find personaId for player '" + stats.PlayerName + "'"; stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; return stats; } Match tag = Regex.Match(result, @"\[\s*([a-zA-Z0-9]+)\s*\]\s*" + name, RegexOptions.IgnoreCase | RegexOptions.Singleline); DebugWrite("Extracting clanTag...", 6); if (tag.Success) { DebugWrite("clanTag is '" + tag.Groups[1].Value + "'", 6); stats.ClanTag = tag.Groups[1].Value; } else { stats.ClanTag = String.Empty; DebugWrite("clanTag is empty", 6); } } catch (Exception e) { DebugWrite("Exception while grabbing personaId and clanTag: " + e.ToString(), 5); stats.GeneralStatus = e.Message; stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; return stats; } } DebugWrite("Performing requestType-lookup for personaId " + stats.PersonaId + "...", 6); Hashtable response = null; Hashtable responseData = null; Hashtable shrinkedResponse = null; Hashtable shrinkedResponseData = null; switch (requestType) { case RequestTypeEnum.ClanTag: stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; DebugWrite("BattlelogLookup returning clanTag...", 6); return stats; case RequestTypeEnum.Overview: webClientResponse = DownloadWebPage(webClient, "http://battlelog.battlefield.com/bf3/overviewPopulateStats/" + stats.PersonaId + "/bf3-us-engineer/1", ref result); if (webClientResponse != String.Empty) { throw new BattlelogLookupException("DownloadWebPage(Overview) failed! " + webClientResponse); } response = (Hashtable)JSON.JsonDecode(result); shrinkedResponse = new Hashtable(); shrinkedResponse["type"] = response["type"]; shrinkedResponse["message"] = response["message"]; shrinkedResponseData = new Hashtable(); responseData = (Hashtable)response["data"]; if (responseData == null) { stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; stats.GeneralStatus = "BattlelogLookup(Overview) failed!"; stats.OverviewStatsError = "JSON missing 'data'"; DebugWrite(stats.GeneralStatus + " " + stats.OverviewStatsError, 5); return stats; } Hashtable responseDataOverviewStats = (Hashtable)responseData["overviewStats"]; if (responseDataOverviewStats == null) { stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; stats.GeneralStatus = "BattlelogLookup(Overview) failed!"; stats.OverviewStatsError = "JSON missing 'overviewStats'"; DebugWrite(stats.GeneralStatus + " " + stats.OverviewStatsError, 5); return stats; } Hashtable shrinkedResponseDataOverviewStats = new Hashtable(); shrinkedResponseDataOverviewStats["vehiclesDestroyed"] = responseDataOverviewStats["vehiclesDestroyed"]; shrinkedResponseDataOverviewStats["deaths"] = responseDataOverviewStats["deaths"]; shrinkedResponseDataOverviewStats["revives"] = responseDataOverviewStats["revives"]; shrinkedResponseDataOverviewStats["killAssists"] = responseDataOverviewStats["killAssists"]; shrinkedResponseDataOverviewStats["sc_vehicle"] = responseDataOverviewStats["sc_vehicle"]; shrinkedResponseDataOverviewStats["sc_team"] = responseDataOverviewStats["sc_team"]; shrinkedResponseDataOverviewStats["totalScore"] = responseDataOverviewStats["totalScore"]; shrinkedResponseDataOverviewStats["heals"] = responseDataOverviewStats["heals"]; shrinkedResponseDataOverviewStats["longestHeadshot"] = responseDataOverviewStats["longestHeadshot"]; shrinkedResponseDataOverviewStats["headshots"] = responseDataOverviewStats["headshots"]; shrinkedResponseDataOverviewStats["repairs"] = responseDataOverviewStats["repairs"]; shrinkedResponseDataOverviewStats["shotsFired"] = responseDataOverviewStats["shotsFired"]; shrinkedResponseDataOverviewStats["elo"] = responseDataOverviewStats["elo"]; shrinkedResponseDataOverviewStats["longestWinStreak"] = responseDataOverviewStats["longestWinStreak"]; shrinkedResponseDataOverviewStats["resupplies"] = responseDataOverviewStats["resupplies"]; shrinkedResponseDataOverviewStats["sc_unlock"] = responseDataOverviewStats["sc_unlock"]; shrinkedResponseDataOverviewStats["rsNumWins"] = responseDataOverviewStats["rsNumWins"]; shrinkedResponseDataOverviewStats["wlRatio"] = responseDataOverviewStats["wlRatio"]; shrinkedResponseDataOverviewStats["sc_award"] = responseDataOverviewStats["sc_award"]; shrinkedResponseDataOverviewStats["score"] = responseDataOverviewStats["score"]; shrinkedResponseDataOverviewStats["vehiclesDestroyedAssists"] = responseDataOverviewStats["vehiclesDestroyedAssists"]; shrinkedResponseDataOverviewStats["kitTimes"] = responseDataOverviewStats["kitTimes"]; shrinkedResponseDataOverviewStats["kdRatio"] = responseDataOverviewStats["kdRatio"]; shrinkedResponseDataOverviewStats["kitTimesInPercentage"] = responseDataOverviewStats["kitTimesInPercentage"]; shrinkedResponseDataOverviewStats["timePlayed"] = responseDataOverviewStats["timePlayed"]; shrinkedResponseDataOverviewStats["rank"] = responseDataOverviewStats["rank"]; shrinkedResponseDataOverviewStats["kitScores"] = responseDataOverviewStats["kitScores"]; shrinkedResponseDataOverviewStats["kills"] = responseDataOverviewStats["kills"]; shrinkedResponseDataOverviewStats["rsScorePerMinute"] = responseDataOverviewStats["rsScorePerMinute"]; shrinkedResponseDataOverviewStats["rsDeaths"] = responseDataOverviewStats["rsDeaths"]; shrinkedResponseDataOverviewStats["sc_bonus"] = responseDataOverviewStats["sc_bonus"]; shrinkedResponseDataOverviewStats["rsNumLosses"] = responseDataOverviewStats["rsNumLosses"]; shrinkedResponseDataOverviewStats["scorePerMinute"] = responseDataOverviewStats["scorePerMinute"]; shrinkedResponseDataOverviewStats["timePlayedSinceLastReset"] = responseDataOverviewStats["timePlayedSinceLastReset"]; shrinkedResponseDataOverviewStats["numWins"] = responseDataOverviewStats["numWins"]; shrinkedResponseDataOverviewStats["combatScore"] = responseDataOverviewStats["combatScore"]; shrinkedResponseDataOverviewStats["rsScore"] = responseDataOverviewStats["rsScore"]; shrinkedResponseDataOverviewStats["meleeKills"] = responseDataOverviewStats["meleeKills"]; shrinkedResponseDataOverviewStats["numRounds"] = responseDataOverviewStats["numRounds"]; shrinkedResponseDataOverviewStats["rsKills"] = responseDataOverviewStats["rsKills"]; shrinkedResponseDataOverviewStats["sc_objective"] = responseDataOverviewStats["sc_objective"]; shrinkedResponseDataOverviewStats["rsShotsHit"] = responseDataOverviewStats["rsShotsHit"]; shrinkedResponseDataOverviewStats["rsTimePlayed"] = responseDataOverviewStats["rsTimePlayed"]; shrinkedResponseDataOverviewStats["lastReset"] = responseDataOverviewStats["lastReset"]; shrinkedResponseDataOverviewStats["rsShotsFired"] = responseDataOverviewStats["rsShotsFired"]; shrinkedResponseDataOverviewStats["killStreakBonus"] = responseDataOverviewStats["killStreakBonus"]; shrinkedResponseDataOverviewStats["shotsHit"] = responseDataOverviewStats["shotsHit"]; shrinkedResponseDataOverviewStats["quitPercentage"] = responseDataOverviewStats["quitPercentage"]; shrinkedResponseDataOverviewStats["numLosses"] = responseDataOverviewStats["numLosses"]; shrinkedResponseDataOverviewStats["sc_squad"] = responseDataOverviewStats["sc_squad"]; shrinkedResponseDataOverviewStats["sc_general"] = responseDataOverviewStats["sc_general"]; shrinkedResponseDataOverviewStats["accuracy"] = responseDataOverviewStats["accuracy"]; shrinkedResponseDataOverviewStats["maxScoreInRound"] = responseDataOverviewStats["maxScoreInRound"]; Hashtable responseDataKitMap = (Hashtable)((Hashtable)response["data"])["kitMap"]; Hashtable shrinkedResponseDataKitMap = new Hashtable(); foreach (DictionaryEntry kitMap in responseDataKitMap) { shrinkedResponseDataKitMap[kitMap.Key] = kitMap.Value; } shrinkedResponseData["overviewStats"] = shrinkedResponseDataOverviewStats; shrinkedResponseData["kitMap"] = shrinkedResponseDataKitMap; shrinkedResponse["data"] = shrinkedResponseData; stats.OverviewStats = JSON.JsonEncode(shrinkedResponse); /* Moved up to immediately after download call if (webClientResponse != String.Empty) { DebugWrite("WebClientResponse in BattlelogLookup was not empty: " + webClientResponse, 5); stats.GeneralStatus = "overviewStats failed"; stats.OverviewStatsError = webClientResponse; } */ stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; DebugWrite("BattlelogLookup returning overviewStats...", 6); return stats; case RequestTypeEnum.Weapon: webClientResponse = DownloadWebPage(webClient, "http://battlelog.battlefield.com/bf3/weaponsPopulateStats/" + stats.PersonaId + "/1", ref result); if (webClientResponse != String.Empty) { throw new BattlelogLookupException("DownloadWebPage(Weapon) failed! " + webClientResponse); } response = (Hashtable)JSON.JsonDecode(result); shrinkedResponse = new Hashtable(); shrinkedResponse["type"] = response["type"]; shrinkedResponse["message"] = response["message"]; shrinkedResponseData = new Hashtable(); responseData = (Hashtable)response["data"]; if (responseData == null) { stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; stats.GeneralStatus = "BattlelogLookup(Weapon) failed!"; stats.WeaponStatsError = "JSON missing 'data'"; DebugWrite(stats.GeneralStatus + " " + stats.WeaponStatsError, 5); return stats; } ArrayList responseDataMainWeaponStats = (ArrayList)responseData["mainWeaponStats"]; if (responseDataMainWeaponStats == null) { stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; stats.GeneralStatus = "BattlelogLookup(Weapon) failed!"; stats.WeaponStatsError = "JSON missing 'mainWeaponStats'"; DebugWrite(stats.GeneralStatus + " " + stats.WeaponStatsError, 5); return stats; } ArrayList shrinkedResponseDataMainWeaponStats = new ArrayList(); foreach (Hashtable weaponStats in responseDataMainWeaponStats) { Hashtable shrinkedWeaponStats = new Hashtable(); shrinkedWeaponStats["code"] = weaponStats["code"]; shrinkedWeaponStats["category"] = weaponStats["category"]; shrinkedWeaponStats["shotsFired"] = weaponStats["shotsFired"]; shrinkedWeaponStats["accuracy"] = weaponStats["accuracy"]; shrinkedWeaponStats["headshots"] = weaponStats["headshots"]; shrinkedWeaponStats["kills"] = weaponStats["kills"]; shrinkedWeaponStats["slug"] = weaponStats["slug"]; shrinkedWeaponStats["timeEquipped"] = weaponStats["timeEquipped"]; shrinkedWeaponStats["name"] = weaponStats["name"]; shrinkedWeaponStats["shotsHit"] = weaponStats["shotsHit"]; shrinkedResponseDataMainWeaponStats.Add(shrinkedWeaponStats); } shrinkedResponseData["mainWeaponStats"] = shrinkedResponseDataMainWeaponStats; shrinkedResponse["data"] = shrinkedResponseData; stats.WeaponStats = JSON.JsonEncode(shrinkedResponse); /* Moved up to immediately after download call if (webClientResponse != String.Empty) { DebugWrite("WebClientResponse in BattlelogLookup was not empty: " + webClientResponse, 5); stats.GeneralStatus = "weaponStats failed"; stats.WeaponStatsError = webClientResponse; } */ stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; DebugWrite("BattlelogLookup returning weaponStats...", 6); return stats; case RequestTypeEnum.Vehicle: webClientResponse = DownloadWebPage(webClient, "http://battlelog.battlefield.com/bf3/vehiclesPopulateStats/" + stats.PersonaId + "/1", ref result); if (webClientResponse != String.Empty) { throw new BattlelogLookupException("DownloadWebPage(Vehicle) failed! " + webClientResponse); } stats.VehicleStats = result; /* Moved up to immediately after download call if (webClientResponse != String.Empty) { DebugWrite("WebClientResponse in BattlelogLookup was not empty: " + webClientResponse, 5); stats.GeneralStatus = "vehicleStats failed"; stats.VehicleStatsError = webClientResponse; } */ stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; DebugWrite("BattlelogLookup returning vehicleStats...", 6); return stats; default: stats.GeneralStatus = "Unknown requestType"; stats.FetchTime = DateTime.Now.Subtract(startTime).TotalSeconds; return stats; } }
private PlayerStats MySqlLookup(String name, RequestTypeEnum requestType) { DebugWrite("MySqlLookup starting!", 6); PlayerStats stats = new PlayerStats(String.Empty, name); stats.FetchTime = 0.0D; try { using (MySqlConnection connection = new MySqlConnection(PrepareMySqlConnectionString())) { using (MySqlCommand command = connection.CreateCommand()) { //command.CommandText = "SELECT * FROM `" + mySqlDatabase + "`.`" + mySqlTable + "` WHERE `playerName` = '" + name + "' AND "; switch (requestType) { case RequestTypeEnum.Overview: command.CommandText = "SELECT `personaId`, `playerName`, `generalStatus`, `overviewStats`, `overviewStatsError`, `timestampOverview` FROM `" + mySqlDatabase + "`.`" + mySqlTable + "` WHERE `playerName` = '" + name + "' AND DATEDIFF(CURRENT_TIMESTAMP, `timestampOverview`) = 0;"; break; case RequestTypeEnum.Weapon: command.CommandText = "SELECT `personaId`, `playerName`, `generalStatus`, `weaponStats`, `weaponStatsError`, `timestampWeapon` FROM `" + mySqlDatabase + "`.`" + mySqlTable + "` WHERE `playerName` = '" + name + "' AND DATEDIFF(CURRENT_TIMESTAMP, `timestampWeapon`) = 0;"; break; case RequestTypeEnum.Vehicle: command.CommandText = "SELECT `personaId`, `playerName`, `generalStatus`, `vehicleStats`, `vehicleStatsError`, `timestampVehicle` FROM `" + mySqlDatabase + "`.`" + mySqlTable + "` WHERE `playerName` = '" + name + "' AND DATEDIFF(CURRENT_TIMESTAMP, `timestampVehicle`) = 0;"; break; case RequestTypeEnum.ClanTag: command.CommandText = "SELECT `personaId`, `playerName`, `generalStatus`, `clanTag`, `timestampClanTag` FROM `" + mySqlDatabase + "`.`" + mySqlTable + "` WHERE `playerName` = '" + name + "' AND DATEDIFF(CURRENT_TIMESTAMP, `timestampClanTag`) = 0;"; break; } connection.Open(); using (MySqlDataReader reader = command.ExecuteReader()) { if (reader.Read()) { DebugWrite("MySqlLookup found stats for player " + stats.PlayerName + "!", 6); stats.PersonaId = reader.GetString("personaId"); if (!reader.IsDBNull(2)) { stats.GeneralStatus = reader.GetString("generalStatus"); } switch (requestType) { case RequestTypeEnum.Overview: if (!reader.IsDBNull(3)) { stats.OverviewStats = reader.GetString("overviewStats"); } if (!reader.IsDBNull(4)) { stats.OverviewStatsError = reader.GetString("overviewStatsError"); } if (!reader.IsDBNull(5)) { DateTime timeStamp = reader.GetDateTime("timestampOverview"); stats.Age = DateTime.Now.Subtract(timeStamp).TotalSeconds; } break; case RequestTypeEnum.Weapon: if (!reader.IsDBNull(3)) { stats.WeaponStats = reader.GetString("weaponStats"); } if (!reader.IsDBNull(4)) { stats.OverviewStatsError = reader.GetString("weaponStatsError"); } if (!reader.IsDBNull(5)) { DateTime timeStamp = reader.GetDateTime("timestampWeapon"); stats.Age = DateTime.Now.Subtract(timeStamp).TotalSeconds; } break; case RequestTypeEnum.Vehicle: if (!reader.IsDBNull(3)) { stats.VehicleStats = reader.GetString("vehicleStats"); } if (!reader.IsDBNull(4)) { stats.OverviewStatsError = reader.GetString("vehicleStatsError"); } if (!reader.IsDBNull(5)) { DateTime timeStamp = reader.GetDateTime("timestampVehicle"); stats.Age = DateTime.Now.Subtract(timeStamp).TotalSeconds; } break; case RequestTypeEnum.ClanTag: if (!reader.IsDBNull(3)) { stats.ClanTag = reader.GetString("clanTag"); } if (!reader.IsDBNull(4)) { DateTime timeStamp = reader.GetDateTime("timestampClanTag"); stats.Age = DateTime.Now.Subtract(timeStamp).TotalSeconds; } break; default: // Whud? o.O break; } } } } } } catch (Exception e) { DebugWrite(e.ToString(), 3); } DebugWrite("MySqlLookup finished!", 6); return stats; }
public bool SaveComment(SaveCommentModel model,RequestTypeEnum type) { try { User user = UserDao.Load(AuthenticationService.CurrentUser.Id); switch (type) { case RequestTypeEnum.Appointment: Appointment entity = AppointmentDao.Load(model.DocumentId); AppointmentComment comment = new AppointmentComment { Comment = model.Comment, Appointment = entity, DateCreated = DateTime.Now, User = user, }; AppointmentCommentDao.MergeAndFlush(comment); break; case RequestTypeEnum.AppointmentReport: AppointmentReport rep = AppointmentReportDao.Load(model.DocumentId); AppointmentReportComment comm = new AppointmentReportComment { Comment = model.Comment, AppointmentReport = rep, DateCreated = DateTime.Now, User = user, }; AppointmentReportCommentDao.MergeAndFlush(comm); break; default: throw new ValidationException(string.Format(StrInvalidCommentType,(int)type)); } return true; } catch (Exception ex) { AppointmentCommentDao.RollbackTran(); Log.Error("Exception", ex); model.Error = StrException + ex.GetBaseException().Message; return false; } }
public Request(RequestTypeEnum type) { RequestType = type; SubRequests = new List <IRequest>(); }
private HttpWebRequest CreateRequest(string url, string oDataQuery, RequestTypeEnum method) { if (!string.IsNullOrEmpty(oDataQuery)) { url += "?" + oDataQuery; } var request = (HttpWebRequest)WebRequest.Create(url); request.Method = method.ToString(); request.ContentType = "application/json"; request.Accept = "application/json"; request.Headers.Add("Authorization", "Bearer " + _accessTokenDelegate()); Debug.WriteLine(request.Method); Debug.WriteLine(url); return request; }
public Resource(RequestTypeEnum type) { RequestType = type; SubResources = new List <Resource>(); }
private static void ConstructXMLCallNode(XmlDocument xmlDoc, BaseRequest request, RequestTypeEnum requestType, XmlElement xmlGetRequestTypeCallNode) { switch (requestType) { case RequestTypeEnum.GetReceiptCall: GetReceiptCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetReceiptsRequest)request); break; case RequestTypeEnum.GetReceiptInfoCall: GetReceiptInfoCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetReceiptByIdRequest)request); break; case RequestTypeEnum.GetDocumentStatusCall: GetDocumentStatusCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetDocumentStatusRequest)request); break; case RequestTypeEnum.GetCategoryCall: break; case RequestTypeEnum.CreateUserCategoryCall: CreateUsercategoryCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (CreateUserCategoryRequest)request); break; case RequestTypeEnum.GetBillCall: GetBillCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetBillsRequest)request); break; case RequestTypeEnum.GetBillInfoCall: GetBillInfoCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetBillByIdRequest)request); break; case RequestTypeEnum.GetLoginCall: break; case RequestTypeEnum.GetBusinessCardCall: GetBusinessCardCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetBusinessCardCallRequest)request); break; case RequestTypeEnum.GetBusinessCardInfoCall: GetBusinessCardInfoCallXMLRequest(xmlGetRequestTypeCallNode, xmlDoc, (GetBusinessCardByIdRequest)request); break; default: break; } }
public LookupRequest(String pluginName, String pluginMethod, String playerName, RequestTypeEnum requestType) { _pluginName = pluginName; _pluginMethod = pluginMethod; _playerName = playerName; _requestType = requestType; _requestTimestamp = DateTime.UtcNow; }
public RpcRouteAttribute(string path, string notes, RequestTypeEnum verbs) { Path = path; Notes = notes; Verbs = verbs; }
private static XmlDocument ConstructXMLRequest(BaseRequest request, RequestTypeEnum requestType) { var xmlDoc = new XmlDocument(); try { xmlDoc.LoadXml("<Request xmlns=\"urn:sbx:apis:SbxBaseComponents\"><RequesterCredentials><ApiUserToken>" + request.ApiUserToken + "</ApiUserToken><SbxUserToken>" + request.SbxUserToken + "</SbxUserToken></RequesterCredentials></Request>"); xmlDoc.PrependChild(xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null)); var xmlRequestNode = xmlDoc.GetElementsByTagName("Request").Item(0); var xmlGetRequestTypeCallNode = xmlDoc.CreateElement(requestType.ToString()); xmlGetRequestTypeCallNode.SetAttribute("xmlns", "urn:sbx:apis:SbxBaseComponents"); xmlRequestNode.AppendChild(xmlGetRequestTypeCallNode); ConstructXMLCallNode(xmlDoc, request, requestType, xmlGetRequestTypeCallNode); } catch { throw new Exception("Error in Service."); } return xmlDoc; }