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 }); }
public bool UpdateUserRequest(MT4UserRequest userRequest) { try { _unitOfWork.MT4UserRequestRepository.Update(userRequest); return(true); } catch (Exception ex) { return(false); } }
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"); } } }