Esempio n. 1
0
 public MT4UserRequestModel ToMT4UserRequestModel(MT4UserRequest mT4UserRequest)
 {
     if (mT4UserRequest == null)
     {
         return(new MT4UserRequestModel());
     }
     return(new MT4UserRequestModel
     {
         UserRequestId = mT4UserRequest.Id.ToString(),
         Login = mT4UserRequest.Login,
         OrganizationId = mT4UserRequest.OrganizationId,
         Address = mT4UserRequest.Address,
         AgentAccount = mT4UserRequest.AgentAccount,
         ApiData = mT4UserRequest.ApiData,
         Balance = mT4UserRequest.Balance,
         City = mT4UserRequest.City,
         Comment = mT4UserRequest.Comment,
         Country = mT4UserRequest.Country,
         Credit = mT4UserRequest.Credit,
         Email = mT4UserRequest.Email,
         Enable = mT4UserRequest.Enable,
         EnableChangePassword = mT4UserRequest.EnableChangePassword,
         EnableOTP = mT4UserRequest.EnableOTP,
         EnableReadOnly = mT4UserRequest.EnableReadOnly,
         Group = mT4UserRequest.Group,
         UserId = mT4UserRequest.UserId,
         InterestRate = mT4UserRequest.InterestRate,
         LastDate = mT4UserRequest.LastDate,
         LastIp = mT4UserRequest.LastIp,
         LeadSource = mT4UserRequest.LeadSource,
         Leverage = mT4UserRequest.Leverage,
         Mqid = mT4UserRequest.Mqid,
         Name = mT4UserRequest.Name,
         OTPSecret = mT4UserRequest.OTPSecret,
         Password = mT4UserRequest.Password,
         PasswordInvestor = mT4UserRequest.PasswordInvestor,
         PasswordPhone = mT4UserRequest.PasswordPhone,
         Phone = mT4UserRequest.Phone,
         PrevBalance = mT4UserRequest.PrevBalance,
         PrevEquity = mT4UserRequest.PrevEquity,
         PrevMonthBalance = mT4UserRequest.PrevMonthBalance,
         PrevMonthEquity = mT4UserRequest.PrevMonthEquity,
         PublicKey = mT4UserRequest.PublicKey,
         Regdate = mT4UserRequest.Regdate,
         SendReports = mT4UserRequest.SendReports,
         State = mT4UserRequest.State,
         Status = mT4UserRequest.Status,
         Taxes = mT4UserRequest.Taxes,
         Timestamp = mT4UserRequest.Timestamp,
         UserColor = mT4UserRequest.UserColor,
         ZipCode = mT4UserRequest.ZipCode,
         TradesHistories = mT4UserRequest.TradesHistories
     });
 }
Esempio n. 2
0
 public bool UpdateUserRequest(MT4UserRequest userRequest)
 {
     try
     {
         _unitOfWork.MT4UserRequestRepository.Update(userRequest);
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Esempio n. 3
0
        private static void GetMT4UserRequests()
        {
            var dataSources = unitOfWork.DatasourceRepository.GetAll().Where(x => x.DatasourceId == (int)DataSourcesEnum.MT4 && x.IsConnected == true).ToList();

            foreach (var dataSource in dataSources)
            {
                try
                {
                    //MT4ELTHelper.CreateWrapper(dataSource.LoginId, dataSource.Password, dataSource.Server, @"D:\Analytics\S2TAnalytics\S2TAnalytics\S2TAnalyticsELT\Connectors\MT4\mtmanapi.dll");
                    //MT4ELTHelper.CreateWrapper(dataSource.LoginId, dataSource.Password, dataSource.Server, @"D:\Gaurav Shukla\Projects\Trading\S2TAnalytics\S2TAnalyticsELT\Connectors\MT4\mtmanapi.dll");
                    //MT4ELTHelper.CreateWrapper(dataSource.LoginId, dataSource.Password, dataSource.Server, @"D:\Rohit\Trading\S2TAnalyticsELT\Connectors\MT4\mtmanapi.dll");
                    //MT4ELTHelper.CreateWrapper(dataSource.LoginId, dataSource.Password, dataSource.Server, @"F:\Projects\Simple2Trade\S2TAnalytics\S2TAnalyticsELT\Connectors\MT4\mtmanapi.dll");
                    MT4ELTHelper.CreateWrapper(dataSource.LoginId, dataSource.Password, dataSource.Server, @"C:\connector\mtmanapi.dll");
                    var MT4Users = MT4ELTHelper.GetAccountSummaryByAccount();
                    var insertMT4Userrequests = new List <MT4UserRequest>();
                    foreach (var user in MT4Users)
                    {
                        var existingUserRequest = _eLTService.GetUsersByLogin(user.Login, dataSource.OrganizationId);
                        if (existingUserRequest == null)
                        {
                            var userRequest = new MT4UserRequest
                            {
                                Login                = user.Login,
                                OrganizationId       = dataSource.OrganizationId,
                                Address              = user.Address,
                                AgentAccount         = user.AgentAccount,
                                ApiData              = user.ApiData,
                                Balance              = user.Balance,
                                City                 = string.IsNullOrEmpty(user.City) ? "N/A" : Char.ToUpperInvariant(user.City[0]) + user.City.Substring(1).ToLower(),
                                Comment              = user.Comment,
                                Country              = (string.IsNullOrEmpty(user.Country) || user.Country == "null") ? "N/A" : Char.ToUpperInvariant(user.Country[0]) + user.Country.Substring(1).ToLower(),
                                Credit               = user.Credit,
                                Email                = user.Email,
                                Enable               = user.Enable,
                                EnableChangePassword = user.EnableChangePassword,
                                EnableOTP            = user.EnableOTP,
                                EnableReadOnly       = user.EnableReadOnly,
                                Group                = user.Group,
                                UserId               = user.Id,
                                InterestRate         = user.InterestRate,
                                LastDate             = user.LastDate,
                                LastIp               = user.LastIp,
                                LeadSource           = user.LeadSource,
                                Leverage             = user.Leverage,
                                Mqid                 = user.Mqid,
                                Name                 = user.Name == "" ? user.Login.ToString() : user.Name,
                                OTPSecret            = user.OTPSecret,
                                Password             = user.Password,
                                PasswordInvestor     = user.PasswordInvestor,
                                PasswordPhone        = user.PasswordPhone,
                                Phone                = user.Phone,
                                PrevBalance          = user.PrevBalance,
                                PrevEquity           = user.PrevEquity,
                                PrevMonthBalance     = user.PrevMonthBalance,
                                PrevMonthEquity      = user.PrevMonthEquity,
                                PublicKey            = user.PublicKey,
                                Regdate              = user.Regdate,
                                SendReports          = user.SendReports,
                                State                = user.State,
                                Status               = user.Status,
                                Taxes                = user.Taxes,
                                Timestamp            = user.Timestamp,
                                UserColor            = Convert.ToInt64(user.UserColor),
                                ZipCode              = user.ZipCode,
                            };
                            var tradesUserHistory = MT4ELTHelper.GetUserHistoryByAccount(user.Login, new DateTime(1970, 1, 1), DateTime.UtcNow);
                            foreach (var tradesHistory in tradesUserHistory)
                            {
                                userRequest.TradesHistories.Add(tradesHistory);
                            }
                            insertMT4Userrequests.Add(userRequest);
                            //var result = _eLTService.InsertUserRequest(userRequest);
                        }
                        else
                        {
                            if (existingUserRequest.Login == 437007)
                            {
                            }
                            var tradesUserHistory = MT4ELTHelper.GetUserHistoryByAccount(user.Login, new DateTime(1970, 1, 1), DateTime.UtcNow);
                            foreach (var tradesHistory in tradesUserHistory)
                            {
                                if (!existingUserRequest.TradesHistories.Any(x => x.OpenTime == tradesHistory.OpenTime && x.CloseTime == tradesHistory.CloseTime))
                                {
                                    existingUserRequest.TradesHistories.Add(tradesHistory);
                                }
                            }
                            //var update = Builders<MT4UserRequest>.Update.Set("TradesHistories", existingUserRequest.TradesHistories);
                            _eLTService.UpdateUserRequest(existingUserRequest);
                        }
                    }
                    if (insertMT4Userrequests.Any())
                    {
                        _eLTService.InsertUserRequest(insertMT4Userrequests);
                    }
                    MT4UserRequestsToAccountDetails(dataSource);
                }
                catch (Exception ex)
                {
                    AddNotification(dataSource.OrganizationId, "Failed to configure MT4 datasource");
                }
            }
        }