Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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"));
        }
Beispiel #8
0
        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));
        }
Beispiel #9
0
        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);
        }
Beispiel #12
0
        /// <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);
            }
        }
Beispiel #13
0
        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);
 }
Beispiel #15
0
            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;
                }
            }
Beispiel #16
0
        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>();
 }
Beispiel #18
0
 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;
 }
Beispiel #19
0
 public void UpdateStatus(RequestStatusEnum status, RequestTypeEnum type, string description)
 {
     this.Status      = status;
     this.Type        = type;
     this.Description = description;
 }
Beispiel #20
0
            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;
            }
Beispiel #21
0
        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);
        }
Beispiel #22
0
        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;
            }
        }
Beispiel #23
0
        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);
            }
        }
Beispiel #24
0
        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);
        }
Beispiel #26
0
        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;
            }
        }
Beispiel #27
0
        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;
        }
Beispiel #28
0
 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;
     }
 }
Beispiel #29
0
 public Request(RequestTypeEnum type)
 {
     RequestType = type;
     SubRequests = new List <IRequest>();
 }
Beispiel #30
0
        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;
        }
Beispiel #31
0
 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;
     }
 }
Beispiel #33
0
 public LookupRequest(String pluginName, String pluginMethod, String playerName, RequestTypeEnum requestType)
 {
     _pluginName = pluginName;
     _pluginMethod = pluginMethod;
     _playerName = playerName;
     _requestType = requestType;
     _requestTimestamp = DateTime.UtcNow;
 }
Beispiel #34
0
 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;
        }