public async void SaveSignature() { var Toast = DependencyService.Get <IMessage>(); Stream stream = _stream; byte[] byteArray = ConvertToByteArrayFromStream(); string base64Img = Convert.ToBase64String(byteArray); string filePath = _filePath; UserSignature usersignature = new UserSignature() { SalesOrderID = RadomNumGenerator.RadomNumber(), ImageString = base64Img, Name = filePath, ImageLivePath = "" }; var response = await new ApiData().PostData <UserSignature>("api/salesorder/PostSignatureImage", usersignature, true); if (response != null && response.status == "Success") { Toast.LongAlert("Signature Uploaded."); NavigationService.GoBackAsync(); } else { response.data = usersignature; Toast.LongAlert("Error occured"); } await App.Database.SaveSignatureAsync(response.data); // Save user signature in local storage // api will be called when submit sales order will be initiated }
private OAuthToken GenerateAccessToken(UserSignature user, TokenStore store) { try { Dictionary <string, string> requestParams = new Dictionary <string, string>(); requestParams.Add(Constants.CLIENT_ID, ClientID); requestParams.Add(Constants.CLIENT_SECRET, ClientSecret); requestParams.Add(Constants.REDIRECT_URL, RedirectURL); requestParams.Add(Constants.GRANT_TYPE, Constants.GRANT_TYPE_AUTH_CODE); requestParams.Add(Constants.CODE, GrantToken); string response = GetResponseFromServer(requestParams); store.SaveToken(user, ParseResponse(response)); } catch (System.Exception ex) when(!(ex is SDKException)) { throw new SDKException(Constants.SAVE_TOKEN_ERROR, ex); } return(this); }
public static void RunSingleThreadWithMultiUser() { Logger logger = Logger.GetInstance(Logger.Levels.ALL, "/Users/Documents/GitLab/csharp_sdk_log.log"); DataCenter.Environment env = USDataCenter.PRODUCTION; UserSignature user1 = new UserSignature("*****@*****.**"); TokenStore tokenstore = new FileStore("/Users/Documents/GitLab/csharp_sdk_token.txt"); Token token1 = new OAuthToken("1000.xxxxxx", "xxxxxx", "1000.xxxxxx.xxxxxx", TokenType.REFRESH, "https://www.zoho.com"); string resourcePath = "/Users/Documents/GitLab/SampleApp/zohocrm-csharp-sdk-sample-application"; DataCenter.Environment environment = USDataCenter.PRODUCTION; UserSignature user2 = new UserSignature("*****@*****.**"); Token token2 = new OAuthToken("1000.xxxxxx", "xxxxxx", "1000.xxxxxx.xxxxxx", TokenType.REFRESH); SDKConfig config = new SDKConfig.Builder().SetAutoRefreshFields(true).Build(); SDKInitializer.Initialize(user1, env, token1, tokenstore, config, resourcePath, logger); new SingleThread().GetRecords("Leads"); SDKInitializer.SwitchUser(user2, environment, token2, config); new SingleThread().GetRecords("Quotes"); }
public static void RunMultiThreadWithSingleUser() { Logger logger = Logger.GetInstance(Logger.Levels.ALL, "/Users/Documents/GitLab/csharp_sdk_log.log"); DataCenter.Environment env = USDataCenter.PRODUCTION; UserSignature user1 = new UserSignature("*****@*****.**"); //TokenStore tokenstore = new DBStore(null, null, null, null, null); TokenStore tokenstore = new FileStore("/Users/Documents/GitLab/csharp_sdk_token.txt"); Token token1 = new OAuthToken("1000.xxxxxx", "xxxxxx", "1000.xxxxxx.xxxxxx", TokenType.REFRESH, "https://www.zoho.com"); string resourcePath = "/Users/Documents/GitLab/SampleApp/zohocrm-csharp-sdk-sample-application"; SDKConfig config = new SDKConfig.Builder().SetAutoRefreshFields(true).Build(); SDKInitializer.Initialize(user1, env, token1, tokenstore, config, resourcePath, logger); MultiThread multiThread1 = new MultiThread(); Thread thread1 = new Thread(() => multiThread1.GetRecords("Quotes")); thread1.Start(); Thread thread2 = new Thread(() => multiThread1.GetContactRoles()); thread2.Start(); thread1.Join(); thread2.Join(); }
private OAuthToken RefreshAccessToken(UserSignature user, TokenStore store) { try { Dictionary <string, string> requestParams = new Dictionary <string, string>(); requestParams.Add(Constants.CLIENT_ID, ClientId); requestParams.Add(Constants.CLIENT_SECRET, ClientSecret); requestParams.Add(Constants.GRANT_TYPE, Constants.REFRESH_TOKEN); requestParams.Add(Constants.REFRESH_TOKEN, RefreshToken); string response = GetResponseFromServer(requestParams); ParseResponse(response); if (string.IsNullOrEmpty(this.id) || string.IsNullOrWhiteSpace(this.id)) { GenerateId(); } store.SaveToken(user, this); } catch (System.Exception ex) when(!(ex is SDKException)) { throw new SDKException(Constants.SAVE_TOKEN_ERROR, ex); } return(this); }
public static void RunSingleThreadWithMultiUser() { Logger logger = new Logger.Builder() .Level(Logger.Levels.ALL) .FilePath("/Users/Documents/csharp_sdk_log.log") .Build(); DataCenter.Environment env = USDataCenter.PRODUCTION; UserSignature user1 = new UserSignature("*****@*****.**"); TokenStore tokenstore = new FileStore("/Users/Documents/csharp_sdk_token.txt"); Token token1 = new OAuthToken.Builder() .ClientId("1.xxxxx") .ClientSecret("xxxxx") //.GrantToken("1.xxxx.xxxx") .RefreshToken("1.xxxx.xxx") .RedirectURL("https://www.zoho.com") .Build(); string resourcePath = "/Users/Documents"; DataCenter.Environment environment = USDataCenter.PRODUCTION; UserSignature user2 = new UserSignature("*****@*****.**"); Token token2 = new OAuthToken.Builder() .ClientId("1.xxxx") .ClientSecret("xxxx") //.GrantToken("1.xxxx.xxxx") .RefreshToken("1.xxx.xxx") .RedirectURL("https://www.zoho.com") .Build(); SDKConfig config = new SDKConfig.Builder().AutoRefreshFields(true).Build(); new SDKInitializer.Builder() .User(user1) .Environment(env) .Token(token1) .Store(tokenstore) .SDKConfig(config) .ResourcePath(resourcePath) .Logger(logger) .Initialize(); new SingleThread().GetRecords("Leads"); new SDKInitializer.Builder() .User(user2) .Environment(environment) .Token(token2) .SDKConfig(config).SwitchUser(); new SingleThread().GetRecords("Quotes"); }
public static void RunMultiThreadWithSingleUser() { Logger logger = new Logger.Builder() .Level(Logger.Levels.ALL) .FilePath("/Users/Documents/csharp_sdk_log.log") .Build(); DataCenter.Environment env = USDataCenter.PRODUCTION; UserSignature user1 = new UserSignature("*****@*****.**"); //TokenStore tokenstore = new DBStore.Builder() // .Host("host") // .TableName("tablename") // .Password("password") // .Build(); TokenStore tokenstore = new FileStore("/Users/Documents/csharp_sdk_token.txt"); Token token1 = new OAuthToken.Builder() .ClientId("1.xxxx") .ClientSecret("xxxx") //.GrantToken("1.xxxx.xxxx") .RefreshToken("1.xxxx.xxxx") .RedirectURL("https://www.zoho.com") .Build(); string resourcePath = "/Users/Documents"; SDKConfig config = new SDKConfig.Builder() .AutoRefreshFields(true) .Build(); new SDKInitializer.Builder() .User(user1) .Environment(env) .Token(token1) .Store(tokenstore) .SDKConfig(config) .ResourcePath(resourcePath) .Logger(logger) .Initialize(); MultiThread multiThread1 = new MultiThread(); Thread thread1 = new Thread(() => multiThread1.GetRecords("Quotes")); thread1.Start(); Thread thread2 = new Thread(() => multiThread1.GetContactRoles()); thread2.Start(); thread1.Join(); thread2.Join(); }
public Token GetToken(UserSignature user, Token token) { try { using (MySqlConnection connection = new MySqlConnection(this.connectionString)) { connection.Open(); if (token is OAuthToken) { OAuthToken oauthToken = (OAuthToken)token; string query = ConstructDBQuery(user.Email, oauthToken, false); using (MySqlCommand statement = new MySqlCommand(query, connection)) { using (MySqlDataReader result = statement.ExecuteReader()) { while (result.Read()) { string grantToken = result[Constants.GRANT_TOKEN] != null && !result[Constants.GRANT_TOKEN].ToString().Equals(Constants.NULL_VALUE, System.StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(result[Constants.GRANT_TOKEN].ToString()) ? result[Constants.GRANT_TOKEN].ToString() : null; string redirectURL = result[Constants.REDIRECT_URL] != null && !result[Constants.REDIRECT_URL].ToString().Equals(Constants.NULL_VALUE, System.StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(result[Constants.REDIRECT_URL].ToString()) ? result[Constants.REDIRECT_URL].ToString() : null; oauthToken.ClientId = result[Constants.CLIENT_ID].ToString(); oauthToken.ClientSecret = result[Constants.CLIENT_SECRET].ToString(); oauthToken.RefreshToken = result[Constants.REFRESH_TOKEN].ToString(); oauthToken.Id = result[Constants.ID].ToString(); oauthToken.GrantToken = grantToken; oauthToken.UserMail = result[Constants.USER_MAIL].ToString(); oauthToken.AccessToken = result[Constants.ACCESS_TOKEN].ToString(); oauthToken.ExpiresIn = result[Constants.EXPIRY_TIME].ToString(); oauthToken.RedirectURL = redirectURL; return(oauthToken); } } } } } } catch (System.Exception ex) { throw new SDKException(Constants.TOKEN_STORE, Constants.GET_TOKEN_DB_ERROR, ex); } return(null); }
public MultiThread(UserSignature user, DataCenter.Environment environment, Token token, string moduleAPIName) { this.environment = environment; this.user = user; this.token = token; this.moduleAPIName = moduleAPIName; }
private Comment(Mediator mediator, Node node, string body) { Id = Guid.NewGuid().ToString(); Node = new NodeFootPrint(node); Signature = new UserSignature(mediator.SessionUser); Body = body; // Register comment on the node node.RegisterSessionComment(this); }
public void Authenticate(APIHTTPConnector urlConnection) { lock (this) { try { Initializer initializer = Initializer.GetInitializer(); TokenStore store = initializer.Store; UserSignature user = initializer.User; OAuthToken oauthToken = null; if (this.accessToken == null) { if (this.id != null) { oauthToken = (OAuthToken)store.GetTokenById(this.id, this); } else { oauthToken = (OAuthToken)store.GetToken(user, this); } } else { oauthToken = this; } string token = ""; if (oauthToken == null)//first time { token = this.refreshToken != null?this.RefreshAccessToken(user, store).AccessToken : this.GenerateAccessToken(user, store).AccessToken; } else if (oauthToken.ExpiresIn != null && GetExpiryLapseInMillis(oauthToken.ExpiresIn) < 5L)//access token will expire in next 5 seconds or less { SDKLogger.LogInfo(Constants.REFRESH_TOKEN_MESSAGE); token = oauthToken.RefreshAccessToken(user, store).AccessToken; } else { token = oauthToken.AccessToken; } urlConnection.AddHeader(Constants.AUTHORIZATION, Constants.OAUTH_HEADER_PREFIX + token); } catch (System.Exception ex) when(!(ex is SDKException)) { throw new SDKException(ex); } } }
public Token GetToken(UserSignature user, Token token) { try { string[] allContents = File.ReadAllLines(this.filePath); if (allContents == null || allContents.Length < 1) { return(null); } if (token is OAuthToken) { OAuthToken oauthToken = (OAuthToken)token; foreach (string line in allContents) { string[] nextRecord = line.Split(','); if (CheckTokenExists(user.Email, oauthToken, nextRecord)) { string grantToken = !string.IsNullOrEmpty(nextRecord[6]) ? nextRecord[6] : null; string redirectURL = !string.IsNullOrEmpty(nextRecord[8]) ? nextRecord[8] : null; oauthToken.Id = nextRecord[0]; oauthToken.UserMail = nextRecord[1]; oauthToken.ClientId = nextRecord[2]; oauthToken.ClientSecret = nextRecord[3]; oauthToken.RefreshToken = nextRecord[4]; oauthToken.AccessToken = nextRecord[5]; oauthToken.GrantToken = grantToken; oauthToken.ExpiresIn = nextRecord[7]; oauthToken.RedirectURL = redirectURL; return(oauthToken); } } } } catch (System.Exception ex) { throw new SDKException(Constants.TOKEN_STORE, Constants.GET_TOKEN_FILE_ERROR, ex); } return(null); }
private Attachment(Mediator mediator, Node node, string name, string extension, byte[] filebytes) { Id = Guid.NewGuid().ToString(); Name = name; Extension = extension; Signature = new UserSignature(mediator.SessionUser); OwnerNode = new NodeFootPrint(node); Uri = "https:\\iamfara.com"; node.RegisterSessionAttachment(this); }
public void SaveToken(UserSignature user, Token token) { try { List <string> data = null; if (token is OAuthToken) { OAuthToken oauthToken = (OAuthToken)token; oauthToken.UserMail = user.Email; DeleteToken(oauthToken); data = new List <string> { oauthToken.Id, user.Email, oauthToken.ClientId, oauthToken.ClientSecret, oauthToken.RefreshToken, oauthToken.AccessToken, oauthToken.GrantToken, oauthToken.ExpiresIn, oauthToken.RedirectURL }; } using (FileStream outFile = new FileStream(this.filePath, FileMode.Append)) { using (StreamWriter writer = new StreamWriter(outFile)) { writer.WriteLine(string.Join(",", data)); writer.Close(); } outFile.Close(); } } catch (System.Exception ex) when(ex is UnauthorizedAccessException || ex is DirectoryNotFoundException) { throw new SDKException(Constants.TOKEN_STORE, Constants.SAVE_TOKEN_FILE_ERROR, ex); } }
public async Task <UserSignature> SaveSignatureAsync(UserSignature sign) { var existingsign = await database.Table <UserSignature>().Where(x => x.SalesOrderID == sign.SalesOrderID).FirstOrDefaultAsync(); if (existingsign != null) { await database.UpdateAsync(sign); } else { await database.InsertAsync(sign); } return(sign); }
public async Task <bool> UpdateUserSignatureInfo(CreateUserSignatureDto userSignatureDto) { using (var scope = _dbContextScopeFactory.Create()) { var userSignature = UserSignature.CreateUserSignature(userSignatureDto.SignServerId, userSignatureDto.UserId, userSignatureDto.Title, userSignatureDto.CertificateBin, userSignatureDto.SignImage, userSignatureDto.SignImageType, userSignatureDto.StampImage, userSignatureDto.StampImageType, userSignatureDto.Account, userSignatureDto.Password); _signatureRepository.Add(userSignature); await scope.SaveChangesAsync(); return(true); } }
public void SaveToken(UserSignature user, Token token) { try { using (MySqlConnection connection = new MySqlConnection(this.connectionString)) { if (token is OAuthToken) { OAuthToken oauthToken = (OAuthToken)token; oauthToken.UserMail = user.Email; DeleteToken(oauthToken); string query = "insert into " + this.tableName + "(id,user_mail,client_id,client_secret,refresh_token,access_token,grant_token,expiry_time,redirect_url) values (@id, @user_mail, @client_id, @client_secret, @refresh_token, @access_token, @grant_token, @expiry_time, @redirect_url);"; connection.Open(); using (MySqlCommand statement = new MySqlCommand(query, connection)) { statement.Parameters.AddWithValue("@id", oauthToken.Id); statement.Parameters.AddWithValue("@user_mail", user.Email); statement.Parameters.AddWithValue("@client_id", oauthToken.ClientId); statement.Parameters.AddWithValue("@client_secret", oauthToken.ClientSecret); statement.Parameters.AddWithValue("@refresh_token", oauthToken.RefreshToken); statement.Parameters.AddWithValue("@access_token", oauthToken.AccessToken); statement.Parameters.AddWithValue("@grant_token", oauthToken.GrantToken); statement.Parameters.AddWithValue("@expiry_time", oauthToken.ExpiresIn); statement.Parameters.AddWithValue("@redirect_url", oauthToken.RedirectURL); statement.ExecuteNonQuery(); } } } } catch (System.Exception ex) { throw new SDKException(Constants.TOKEN_STORE, Constants.SAVE_TOKEN_DB_ERROR, ex); } }
public Token GetToken(UserSignature user, Token token) { try { using (MySqlConnection connection = new MySqlConnection(this.connectionString)) { connection.Open(); if (token is OAuthToken) { OAuthToken oauthToken = (OAuthToken)token; string query = ConstructDBQuery(user.Email, oauthToken, false); using (MySqlCommand statement = new MySqlCommand(query, connection)) { using (MySqlDataReader result = statement.ExecuteReader()) { while (result.Read()) { oauthToken.AccessToken = result[Constants.ACCESS_TOKEN].ToString(); oauthToken.ExpiresIn = result[Constants.EXPIRY_TIME].ToString(); oauthToken.RefreshToken = result[Constants.REFRESH_TOKEN].ToString(); return(oauthToken); } } } } } } catch (System.Exception ex) { throw new SDKException(Constants.TOKEN_STORE, Constants.GET_TOKEN_DB_ERROR, ex); } return(null); }
public Token GetToken(UserSignature user, Token token) { try { string[] allContents = File.ReadAllLines(this.filePath); if (allContents == null || allContents.Length < 1) { return(null); } if (token is OAuthToken) { OAuthToken oauthToken = (OAuthToken)token; foreach (string line in allContents) { string[] nextRecord = line.Split(','); if (CheckTokenExit(user.Email, oauthToken, nextRecord)) { oauthToken.AccessToken = nextRecord[3]; oauthToken.ExpiresIn = nextRecord[5]; oauthToken.RefreshToken = nextRecord[2]; return(oauthToken); } } } } catch (System.Exception ex) { throw new SDKException(Constants.TOKEN_STORE, Constants.GET_TOKEN_FILE_ERROR, ex); } return(null); }
public static void SDKInitialize() { /* * Create an instance of Logger Class that takes two parameters * 1 -> Level of the log messages to be logged. Can be configured by typing Levels "." and choose any level from the list displayed. * 2 -> Absolute file path, where messages need to be logged. */ Logger logger = Logger.GetInstance(Logger.Levels.ALL, "/Users/Documents/GitLab/csharp_sdk_log.log"); //Create an UserSignature instance that takes user Email as parameter UserSignature user = new UserSignature("*****@*****.**"); /* * Configure the environment * which is of the pattern Domain.Environment * Available Domains: USDataCenter, EUDataCenter, INDataCenter, CNDataCenter, AUDataCenter * Available Environments: PRODUCTION, DEVELOPER, SANDBOX */ Environment environment = USDataCenter.PRODUCTION; /* * Create a Token instance * 1 -> OAuth client id. * 2 -> OAuth client secret. * 3 -> OAuth redirect URL. * 4 -> REFRESH/GRANT token. * 5 -> token type. */ //Token token = new OAuthToken("1000.xxxxx", "xxxxxx", "1000.xxxxxx.xxxxxx", TokenType.REFRESH, "https://www.zoho.com"); //Token token = new OAuthToken("1000.xxxx", "xxxxxx", "1000.xxxxxx.xxxxxx", TokenType.GRANT, "https://www.zoho.com"); Token token = new OAuthToken("1000.xxxxxx", "xxxxxx", "1000.xxxxxx.xxxxxx", TokenType.GRANT, "https://www.zoho.com"); /* * Create an instance of TokenStore. * 1 -> DataBase host name. Default "jdbc:mysql://localhost" * 2 -> DataBase name. Default "zohooauth" * 3 -> DataBase user name. Default "root" * 4 -> DataBase password. Default "" * 5 -> DataBase port number. Default "3306" */ //TokenStore tokenstore = new DBStore(); TokenStore tokenstore = new DBStore(null, null, null, null, null); //TokenStore tokenstore = new FileStore("/Users/Documents/GitLab/csharp_sdk_token.txt"); /* * autoRefreshFields * if true - all the modules' fields will be auto-refreshed in the background, every hour. * if false - the fields will not be auto-refreshed in the background. The user can manually delete the file(s) or refresh the fields using methods from ModuleFieldsHandler(com.zoho.crm.api.util.ModuleFieldsHandler) * * pickListValidation * if true - value for any picklist field will be validated with the available values. * if false - value for any picklist field will not be validated, resulting in creation of a new value. */ SDKConfig config = new SDKConfig.Builder().SetAutoRefreshFields(true).SetPickListValidation(false).Build(); string resourcePath = "/Users/Documents/GitLab/SampleApp/zohocrm-csharp-sdk-sample-application"; /** * Create an instance of RequestProxy class that takes the following parameters * 1 -> Host * 2 -> Port Number * 3 -> User Name * 4 -> Password * 5 -> User Domain */ //RequestProxy requestProxy = new RequestProxy("http://171.0.0.1", 3128, "", "", ""); //RequestProxy requestProxy = new RequestProxy("http://171.0.0.1", 3128, "", null); /* * Call static initialize method of Initializer class that takes the arguments * 1 -> UserSignature instance * 2 -> Environment instance * 3 -> Token instance * 4 -> TokenStore instance * 5 -> SDKConnfig * 6 -> The path containing the absolute directory path to store user specific JSON files containing module fields information. * 7 -> Logger instance * 8 -> RequestProxy instance */ // The following are the available initialize methods //SDKInitializer.Initialize(user, environment, token, tokenstore, config, resourcePath); SDKInitializer.Initialize(user, environment, token, tokenstore, config, resourcePath, logger); //SDKInitializer.Initialize(user, environment, token, tokenstore, config, resourcePath, requestProxy); //SDKInitializer.Initialize(user, environment, token, tokenstore, config, resourcePath, logger, requestProxy); //foreach (Token token1 in ((DBStore)tokenstore).GetTokens()) //{ // OAuthToken authToken = (OAuthToken)token1; // Console.WriteLine(authToken.AccessToken); // Console.WriteLine(authToken.RefreshToken); // Console.WriteLine(authToken.ExpiresIn); // Console.WriteLine(authToken.GrantToken); //} }
/// <summary> /// Set the save date on the tracker /// </summary> internal void StopTracking() { RemoveRedundantChanges(); Signature = new UserSignature(this.user); }
public async Task <Guid> CreateUserAsync(CreateUserDto createUserDto) { using (var scope = _dbContextScopeFactory.Create()) { // create user var createUser = _userRepository.GetUserByEmail(createUserDto.Email.ToLower()); if (createUser == null) { createUser = User.CreateUser(createUserDto.UserName, createUserDto.FullName, createUserDto.Gender, createUserDto.Email, createUserDto.Mobile, createUserDto.Address, createUserDto.HomePhone, createUserDto.Ext, createUserDto.BirthDate, createUserDto.UserCode, null, createUserDto.Language, createUserDto.UserIndex); _userRepository.Add(createUser); } else { createUser.Update(createUserDto.FullName, createUserDto.Gender, createUserDto.Email, createUserDto.Mobile, createUserDto.Address, createUserDto.HomePhone, createUserDto.Ext, createUserDto.BirthDate, createUserDto.UserCode, null, createUserDto.Language, createUserDto.UserIndex); } // create user depart foreach (var deptId in createUserDto.Departments) { var createUserDept = _userDepartmentRepository .Get(w => w.UserID == createUser.Id && w.DeptID == deptId) .FirstOrDefault(); if (createUserDept == null) { createUserDept = UserDepartment.CreateUserDepartment( createUser.Id, deptId, createUserDto.JobDescription, createUserDto.OrderNumber, createUserDto.JobTitleId, createUserDto.IsManager); _userDepartmentRepository.Add(createUserDept); } else { createUserDept.Update(createUserDto.JobDescription, createUserDto.OrderNumber, createUserDto.JobTitleId, createUserDto.IsManager); } } // create signature if (createUserDto.UserSignatures != null && createUserDto.UserSignatures.Count > 0) { foreach (var signature in createUserDto.UserSignatures) { var createSignature = UserSignature.CreateUserSignature( signature.SignServerId, createUser.Id, signature.Title, signature.CertificateBin, signature.SignImage, signature.SignImageType, signature.StampImage, signature.StampImageType, signature.Account, signature.Password); _signatureRepository.Add(createSignature); } } // create notification setting if (createUserDto.NotificationSettings != null && createUserDto.NotificationSettings.Count > 0) { foreach (var notifySetting in createUserDto.NotificationSettings) { var createMotifySetting = NotificationSetting.Create(createUser.Id, notifySetting.NotificationTypeId, notifySetting.IsUrgent); _notificationSettingRepository.Add(createMotifySetting); } } await scope.SaveChangesAsync(); return(createUser.Id); } }
public static void SDKInitialize() { /* * Create an instance of Logger Class that takes two parameters * 1 -> Level of the log messages to be logged. Can be configured by typing Levels "." and choose any level from the list displayed. * 2 -> Absolute file path, where messages need to be logged. */ Logger logger = new Logger.Builder() .Level(Logger.Levels.ALL) .FilePath("/Users/Documents/csharp_sdk_log.log") .Build(); //Create an UserSignature instance that takes user Email as parameter UserSignature user = new UserSignature("*****@*****.**"); /* * Configure the environment * which is of the pattern Domain.Environment * Available Domains: USDataCenter, EUDataCenter, INDataCenter, CNDataCenter, AUDataCenter * Available Environments: PRODUCTION, DEVELOPER, SANDBOX */ Environment environment = USDataCenter.PRODUCTION; /* * Create a Token instance * 1 -> OAuth client id. * 2 -> OAuth client secret. * 3 -> OAuth redirect URL. * 4 -> REFRESH/GRANT token. * 5 -> token type. */ Token token = new OAuthToken.Builder() //.Id("csharp_abc_us_prd_aec1") .ClientId("ClientId") .ClientSecret("ClientSecret") .GrantToken("GrantToken") .RefreshToken("RefreshToken") .RedirectURL("RedirectURL") .AccessToken("AccessToken") .Build(); /* * Create an instance of TokenStore. * 1 -> DataBase host name. Default "localhost" * 2 -> DataBase name. Default "zohooauth" * 3 -> DataBase user name. Default "root" * 4 -> DataBase password. Default "" * 5 -> DataBase port number. Default "3306" */ //TokenStore tokenstore = new DBStore.Builder().Build(); // TokenStore tokenstore = new DBStore.Builder() // .Host("Host") // .DatabaseName("DatabaseName") // .TableName("TableName") // .UserName("UserName") // .Password("Password") // .PortNumber("PortNumber") // .Build(); TokenStore tokenstore = new FileStore("/Users/Documents/csharp_sdk_token.txt"); /* * autoRefreshFields * if true - all the modules' fields will be auto-refreshed in the background, every hour. * if false - the fields will not be auto-refreshed in the background. The user can manually delete the file(s) or refresh the fields using methods from ModuleFieldsHandler(com.zoho.crm.api.util.ModuleFieldsHandler) * * pickListValidation * if true - value for any picklist field will be validated with the available values. * if false - value for any picklist field will not be validated, resulting in creation of a new value. */ SDKConfig config = new SDKConfig.Builder() .AutoRefreshFields(true) .PickListValidation(false) .Build(); string resourcePath = "/Users/Documents"; /** * Create an instance of RequestProxy class that takes the following parameters * 1 -> Host * 2 -> Port Number * 3 -> User Name * 4 -> Password * 5 -> User Domain */ RequestProxy requestProxy = new RequestProxy.Builder() .Host("Host") .Port(Port) .User("User") .Password("") .UserDomain("UserDomain") .Build(); /* * Call static initialize method of Initializer class that takes the arguments * 1 -> UserSignature instance * 2 -> Environment instance * 3 -> Token instance * 4 -> TokenStore instance * 5 -> SDKConnfig * 6 -> The path containing the absolute directory path to store user specific JSON files containing module fields information. * 7 -> Logger instance * 8 -> RequestProxy instance */ // The following are the available initialize methods new SDKInitializer.Builder() .User(user) .Environment(environment) .Token(token) .Store(tokenstore) .SDKConfig(config) .ResourcePath(resourcePath) .Logger(logger) .Initialize(); // foreach (Token token1 in ((DBStore)tokenstore).GetTokens()) // { // OAuthToken authToken = (OAuthToken)token1; // Console.WriteLine(JsonConvert.SerializeObject(authToken)); // } }
public async Task <bool> UpdateUserAsync(UpdateUserDto updateUserDto) { using (var scope = _dbContextScopeFactory.Create()) { // update user var createUser = await _userRepository.FindAsync( f => f.Id == updateUserDto.UserId); if (createUser == null) { throw new Exception("User not found !"); } else { createUser.Update(updateUserDto.FullName, updateUserDto.Gender, updateUserDto.Email, updateUserDto.Mobile, updateUserDto.Address, updateUserDto.HomePhone, updateUserDto.Ext, updateUserDto.BirthDate, updateUserDto.UserCode, null, updateUserDto.Language, updateUserDto.UserIndex); } // remove if (updateUserDto.RemovedDepartments != null) { foreach (var removeDeptId in updateUserDto.RemovedDepartments) { var delDept = _userDepartmentRepository.Get (w => w.UserID == updateUserDto.UserId && w.DeptID == removeDeptId) .FirstOrDefault(); _userDepartmentRepository.Delete(delDept); } } if (updateUserDto.AddedDepartments != null) { // create user depart foreach (var deptId in updateUserDto.AddedDepartments) { var createUserDept = _userDepartmentRepository .Get(w => w.UserID == createUser.Id && w.DeptID == deptId) .FirstOrDefault(); if (createUserDept == null) { createUserDept = UserDepartment.CreateUserDepartment( createUser.Id, deptId, updateUserDto.JobDescription, updateUserDto.OrderNumber, updateUserDto.JobTitleId, updateUserDto.IsManager); _userDepartmentRepository.Add(createUserDept); } else { createUserDept.Update(updateUserDto.JobDescription, updateUserDto.OrderNumber, updateUserDto.JobTitleId, updateUserDto.IsManager); } } } if (updateUserDto.RemovedUserSignatures != null && updateUserDto.RemovedUserSignatures.Count > 0) { foreach (var removeSignatureId in updateUserDto.RemovedUserSignatures) { var removeSign = await _signatureRepository.FindAsync(f => f.Id == removeSignatureId); _signatureRepository.Delete(removeSign); } } // create signature if (updateUserDto.AddedUserSignatures != null && updateUserDto.AddedUserSignatures.Count > 0) { foreach (var signature in updateUserDto.AddedUserSignatures) { var createSignature = UserSignature.CreateUserSignature( signature.SignServerId, createUser.Id, signature.Title, signature.CertificateBin, signature.SignImage, signature.SignImageType, signature.StampImage, signature.StampImageType, signature.Account, signature.Password); _signatureRepository.Add(createSignature); } } // create notification setting //if (updateUserDto.NotificationSettings != null && updateUserDto.NotificationSettings.Count > 0) //{ // foreach (var notifySetting in updateUserDto.NotificationSettings) // { // var createMotifySetting = NotificationSetting.Create(createUser.Id, // notifySetting.NotificationTypeId, notifySetting.IsUrgent); // _notificationSettingRepository.Add(createMotifySetting); // } //} await scope.SaveChangesAsync(); return(true); } }
public SignaturePageViewModel(INavigationService navigationService) : base(navigationService) { _navigation = navigationService; _userSignature = new UserSignature(); }