public static bool GenerateReport(string exportDirectory, ScheduleContent scheduleContent, string userName, string password) { LogExtension.LogInfo("Report exporting started", MethodBase.GetCurrentMethod(), " ExportDirectory - " + exportDirectory + " UserName - " + userName + " Password - " + password); var exportStatus = false; //try //{ // if (Directory.Exists(exportDirectory + scheduleContent.ScheduleId)) // { // Array.ForEach(Directory.GetFiles(exportDirectory + scheduleContent.ScheduleId), File.Delete); // } // else // { // Directory.CreateDirectory(exportDirectory + scheduleContent.ScheduleId); // } // var thread = new Thread(delegate() // { // try // { // var reportContent = new ReportWriter(); // reportContent.ReportingServer = new UMPServer(); // reportContent.ReportServerCredential = // new System.Net.NetworkCredential(userName, password); // reportContent.ReportServerUrl = GlobalAppSettings.SystemSettings.BaseUrl + "/api/reportserverapi"; // reportContent.ReportPath = scheduleContent.ItemId.ToString(); // switch (scheduleContent.ExportTypeId) // { // case ExportType.Pdf: // reportContent.Save( // exportDirectory + scheduleContent.ScheduleId + "\\" + scheduleContent.ReportName + // ".pdf", WriterFormat.PDF); // break; // case ExportType.Excel: // reportContent.Save( // exportDirectory + scheduleContent.ScheduleId + "\\" + scheduleContent.ReportName + // ".xls", WriterFormat.Excel); // break; // case ExportType.Word: // reportContent.Save( // exportDirectory + scheduleContent.ScheduleId + "\\" + scheduleContent.ReportName + // ".doc", WriterFormat.Word); // break; // default: // reportContent.Save( // exportDirectory + scheduleContent.ScheduleId + "\\" + scheduleContent.ReportName + // ".html", WriterFormat.HTML); // break; // } // } // catch (Exception ex) // { // exportStatus = false; // LogExtension.LogError("Exception while exporting report", ex, MethodBase.GetCurrentMethod(), " ExportDirectory - " + exportDirectory + " UserName - " + userName + " Password - " + password + " ScheduleId - " + scheduleContent.ScheduleId + " ExportTypeId" + scheduleContent.ExportTypeId); // } // exportStatus = true; // }); // thread.SetApartmentState(ApartmentState.STA); // thread.Start(); // thread.Join(); //} //catch (Exception ex) //{ // exportStatus = false; // LogExtension.LogError("Exception while exporting report", ex, MethodBase.GetCurrentMethod(), " ExportDirectory - " + exportDirectory + " UserName - " + userName + " Password - " + password + " ScheduleId - " + scheduleContent.ScheduleId + " ExportTypeId" + scheduleContent.ExportTypeId); //} return(exportStatus); }
public ActionResult Login(string username, string password, string remember, string returnUrl) { var tokenCryptography = new TokenCryptography(); if (username != null && password != null) { var ipAddress = Request.UserHostAddress; var encryptedUsername = tokenCryptography.Encrypt(username, ipAddress); var encryptedPassword = tokenCryptography.Encrypt(password, ipAddress); LogExtension.LogInfo("Login Encryption done", MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl); var headers = new Dictionary <string, object> { { "Authorization", Convert.ToBase64String(Encoding.UTF8.GetBytes(encryptedUsername + ":" + encryptedPassword)) } }; LogExtension.LogInfo("Login API requested", MethodBase.GetCurrentMethod()); var apiResponse = _javaScriptSerializer.Deserialize <ApiResponse>(_apiHandler.ApiProcessor("/api/accounts/login", headers, new Dictionary <string, object>())); var apiData = DictionaryHelper.GetObject(apiResponse.Data as Dictionary <string, object>, typeof(ApiData)) as ApiData; LogExtension.LogInfo("Login API Data received", MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl); LogExtension.LogInfo("Login result is " + apiData.StatusText, MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl); var isValid = apiData.StatusText; switch (isValid.ToLower()) { case "validuser": var userDetail = _userManagement.FindUserByUserName(username); FormsAuthentication.SetAuthCookie(userDetail.UserId.ToString(), remember != null && remember.ToLower().Trim() == "on"); GlobalAppSettings.SetTimeZone(userDetail.UserId); HttpContext.Session["displayname"] = userDetail.DisplayName; HttpContext.Session["firstname"] = userDetail.FirstName; HttpContext.Session["lastname"] = userDetail.LastName; HttpContext.Session["IsAdmin"] = GlobalAppSettings.IsAdmin(userDetail.UserId); _userManagement.UpdateLoginTime(userDetail.UserId, DateTime.UtcNow); if (String.IsNullOrWhiteSpace(returnUrl)) { return(RedirectToAction("reports", "reports")); } return(Redirect(returnUrl)); case "invalidpassword": TempData["currentValue"] = username; TempData["errorUserName"] = ""; TempData["errorPassword"] = apiData.Message; TempData["errorUserStatus"] = ""; TempData["errorPasswordStatus"] = "inline-block"; return(View()); case "throttleduser": TempData["errorUserName"] = ""; TempData["errorPassword"] = ""; TempData["User"] = apiData.Message; return(View()); case "invalidusername": TempData["currentValue"] = username; TempData["errorUserName"] = apiData.Message; TempData["errorPassword"] = ""; TempData["errorUserStatus"] = "inline-block"; TempData["errorPasswordStatus"] = ""; return(View()); case "deactivateduser": TempData["errorUserName"] = ""; TempData["errorPassword"] = ""; TempData["errorUserStatus"] = "inline-block"; TempData["User"] = apiData.Message; return(View()); default: TempData["errorUserName"] = ""; TempData["errorPassword"] = ""; TempData["errorUserStatus"] = "inline-block"; TempData["User"] = apiData.Message; return(View()); } } return(View()); }
public string ApiProcessor(string url, Dictionary <string, object> headers, Dictionary <string, object> inputItems) { string target; var queryString = String.Empty; try { if (inputItems != null) { foreach (var inputItem in inputItems) { if (string.IsNullOrEmpty(queryString)) { queryString = "?" + inputItem.Key + "=" + inputItem.Value; } else { queryString = queryString + "&" + inputItem.Key + "=" + inputItem.Value; } } } var requestModeHeader = Convert.ToBase64String( Encoding.UTF8.GetBytes(new TokenCryptography().Encrypt("WebServer", HttpContext.Current.Request.UserHostAddress))); if (headers == null) { headers = new Dictionary <string, object> { { "RequestMode", requestModeHeader } }; } else if (headers.ContainsKey("RequestMode") == false) { headers.Add("RequestMode", requestModeHeader); } var baseUrl = new UriBuilder(HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port); var requestUrl = (baseUrl.ToString().TrimEnd('/') + url + queryString); LogExtension.LogInfo("API Request URL - " + requestUrl, MethodBase.GetCurrentMethod()); var request = (HttpWebRequest)WebRequest.Create(requestUrl); foreach (var header in headers) { request.Headers.Add(header.Key, header.Value.ToString()); } var response = (HttpWebResponse)request.GetResponse(); var streamReader = new StreamReader(response.GetResponseStream(), true); try { target = streamReader.ReadToEnd(); } finally { streamReader.Close(); LogExtension.LogInfo("API Request successful", MethodBase.GetCurrentMethod(), " Url - " + url + " QueryString - " + queryString + " RequestUrl - " + requestUrl); } } catch (Exception ex) { LogExtension.LogInfo("API Request error", MethodBase.GetCurrentMethod()); LogExtension.LogError("Error in APi Request", ex, MethodBase.GetCurrentMethod(), " Url - " + url + " QueryString - " + queryString); try { var webException = ex as WebException; var response = webException.Response as HttpWebResponse; if (response.StatusCode == HttpStatusCode.Unauthorized) { FormsAuthentication.SignOut(); target = jserializer.Serialize(new ApiResponse { Data = new ApiData { Message = response.StatusCode.ToString() }, ApiStatus = false }); } else { target = jserializer.Serialize(new ApiResponse { Data = new ApiData { Message = ex.Message }, ApiStatus = false }); } } catch (Exception) { target = jserializer.Serialize(new ApiResponse { Data = new ApiData { Message = ex.Message }, ApiStatus = false }); } } return(target); }
/// <summary> /// Add System Admin /// </summary> /// <param name="userName">User name</param> /// <param name="firstName">Full name of user</param> /// <param name="lastName">Last name of user</param> /// <param name="emailId">Email Id</param> /// <param name="password">Password</param> public static void AddSystemAdmin(string userName, string firstName, string lastName, string emailId, string password) { LogExtension.LogInfo("Creating system admin", MethodBase.GetCurrentMethod()); var encrypt = new Cryptography(); var umpUser = new User(); var userManagement = new UserManagement(GlobalAppSettings.QueryBuilder, GlobalAppSettings.DataProvider); var groupManagement = new GroupManagement(GlobalAppSettings.QueryBuilder, GlobalAppSettings.DataProvider); umpUser.Password = Convert.ToBase64String(encrypt.Encryption(password)); umpUser.CreatedDate = DateTime.UtcNow; umpUser.ModifiedDate = DateTime.UtcNow; umpUser.IsActive = true; umpUser.IsDeleted = false; umpUser.ResetPasswordCode = "default"; umpUser.ActivationCode = "default"; umpUser.UserName = userName; umpUser.FirstName = firstName.Trim(); umpUser.LastName = lastName.Trim(); umpUser.DisplayName = (umpUser.FirstName.Trim() + " " + umpUser.LastName.Trim()).Trim(); umpUser.Email = emailId; umpUser.IsActivated = true; var activationCode = String.Empty; var activationExpirationDate = new DateTime(); LogExtension.LogInfo("Adding user in user table", MethodBase.GetCurrentMethod()); var result = userManagement.AddUser(umpUser, out activationExpirationDate, out activationCode); if (result.Status) { LogExtension.LogInfo("Adding user in user table succesful", MethodBase.GetCurrentMethod()); LogExtension.LogInfo("Adding user in super admin group table", MethodBase.GetCurrentMethod()); var userGroup = groupManagement.AddUserInGroup(Convert.ToInt32(result.ReturnValue), 1); LogExtension.LogInfo("Is user added in super admin?" + userGroup, MethodBase.GetCurrentMethod()); //var permissionSet = new PermissionSet(); //permissionSet.AddPermissionToGroup(new Permission //{ // PermissionAccess = PermissionAccess.Create, // PermissionEntity = PermissionEntity.AllCategories, // TargetId = 1 //}); //permissionSet.AddPermissionToGroup(new Permission //{ // PermissionAccess = PermissionAccess.Create, // PermissionEntity = PermissionEntity.AllReports, // TargetId = 1 //}); //permissionSet.AddPermissionToGroup(new Permission //{ // PermissionAccess = PermissionAccess.Create, // PermissionEntity = PermissionEntity.AllSchedules, // TargetId = 1 //}); //permissionSet.AddPermissionToGroup(new Permission //{ // PermissionAccess = PermissionAccess.Create, // PermissionEntity = PermissionEntity.AllDataSources, // TargetId = 1 //}); //permissionSet.AddPermissionToGroup(new Permission //{ // PermissionAccess = PermissionAccess.Create, // PermissionEntity = PermissionEntity.AllFiles, // TargetId = 1 //}); } else { LogExtension.LogInfo("Error in adding user in user table", MethodBase.GetCurrentMethod()); } }