Exemplo n.º 1
0
        //
        // GET: /Common/LogOff/

        /// <summary>
        /// Indexes the specified is session time out.
        /// </summary>
        /// <param name="isSessionTimeOut">if set to <c>true</c> [is session time out].</param>
        /// <returns></returns>
        ///FIXED-NOV15--Use Constants and area as Common
        public ActionResult Index(bool isSessionTimeOut)
        {
            UserInfo userInfoViewModel = GetUserInfo();

            //Audit logging for FacilityAdmin and User login but not for SSIAdmin login (UserTypeId = 1)
            if (userInfoViewModel != null && userInfoViewModel.AssignedFacilities != null && userInfoViewModel.AssignedFacilities.Any() && userInfoViewModel.UserTypeId != Constants.One)
            {
                List <FacilityViewModel> facilityDetails = GetAssignedFacilities().ToList();
                List <Facility>          facilities      = AutoMapper.Mapper.Map <List <FacilityViewModel>, List <Facility> >(facilityDetails);

                LogOff logOffInfo = new LogOff
                {
                    UserName         = userInfoViewModel.UserName,
                    IsSessionTimeOut = isSessionTimeOut,
                    UserFacilities   = facilities
                };
                //Save Logout/Session Timeout Audit Log for Contract Management
                PostApiResponse <bool>(Constants.LogOff, Constants.InsertAuditLog,
                                       logOffInfo, true);
            }
            if (isSessionTimeOut)
            {
                AuditLogReport auditLog = new AuditLogReport
                {
                    RequestedUserName = GetLoggedInUserName(),
                    Description       = Constants.UserSessionTimedOut
                };
                //Save Logout Audit Log
                PostApiResponse <int>(Constants.User, Constants.SaveAuditLog, auditLog, true);
            }

            return(RedirectToAction(Constants.LogOff, Constants.Account, new { area = Constants.Common }));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Save AuditLog for LogOut
 /// </summary>
 /// <param name="auditLog"></param>
 /// <returns></returns>
 public int SaveAuditLog(AuditLogReport auditLog)
 {
     _cmd = _db.GetStoredProcCommand("SaveAuditLog");
     _db.AddInParameter(_cmd, "@UserName", DbType.String, auditLog.RequestedUserName);
     _db.AddInParameter(_cmd, "@Description", DbType.String, auditLog.Description);
     return(_db.ExecuteNonQuery(_cmd));
 }
        public void GetAuditLogReport()
        {
            Mock <IAuditLogReportRepository> mockAuditLogReportLogic = new Mock <IAuditLogReportRepository>();
            AuditLogReport result = new AuditLogReport();

            mockAuditLogReportLogic.Setup(f => f.GetAuditLogReport(It.IsAny <AuditLogReport>())).Returns(result);
            AuditLogReportLogic target = new AuditLogReportLogic(mockAuditLogReportLogic.Object);
            AuditLogReport      actual = target.GetAuditLogReport(new AuditLogReport());

            Assert.AreEqual(result, actual);
        }
        public ActionResult LogOff()
        {
            AuditLogReport auditLog = new AuditLogReport {
                RequestedUserName = GetLoggedInUserName(), Description = Constants.UserLoggedOut
            };

            //Save Logout Audit Log
            PostApiResponse <int>(Constants.User, Constants.SaveAuditLog, auditLog, true);

            RemoveSessionVariables();
            //FIXED-RAGINI-FEB16 - Why we are using this. Now Forms authentication is not used in app anymore this can be removed
            return(RedirectToAction(Constants.Login, Constants.Account, new { area = "" }));
        }
        /// <summary>
        /// Gets the claim adjudication report.
        /// </summary>
        /// <param name="auditLogReport">The audit log report.</param>
        /// <returns></returns>
        public AuditLogReport GetAuditLogReport(AuditLogReport auditLogReport)
        {
            AuditLogReport auditReport = new AuditLogReport();

            // Initialize the Stored Procedure
            _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetAuditLogReport");
            // Pass parameters to Stored Procedure(i.e., @ParamName), add values for
            _databaseObj.AddInParameter(_databaseCommandObj, "@FacilityName ", DbType.String,
                                        auditLogReport.FacilityName);
            _databaseObj.AddInParameter(_databaseCommandObj, "@StartDate ", DbType.DateTime,
                                        auditLogReport.StartDate);
            _databaseObj.AddInParameter(_databaseCommandObj, "@EndDate ", DbType.DateTime,
                                        auditLogReport.EndDate);
            _databaseObj.AddInParameter(_databaseCommandObj, "@UserName", DbType.String,
                                        auditLogReport.UserName);
            _databaseObj.AddInParameter(_databaseCommandObj, "@MaxLinesForCsvReport", DbType.Int32,
                                        auditLogReport.MaxLinesForCsvReport);
            _databaseCommandObj.CommandTimeout = auditLogReport.CommandTimeoutForAuditLog;
            DataSet auditLogReportDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj);

            if (auditLogReportDataSet.IsTableDataPopulated(0))
            {
                if (auditLogReportDataSet.Tables[0].Columns.Count == 1)
                {
                    auditReport.MaxLinesForCsvReport = Constants.ReportThreshold;
                    return(auditReport);
                }
                //FIXED-NOV15 - Use common GetValue method to get value from DataColumn
                auditReport.AuditLogReportList =
                    (from DataRow auditDataRow in auditLogReportDataSet.Tables[0].Rows
                     select new AuditLogReport
                {
                    AuditLogId = GetValue <long>(auditDataRow["AuditLogId"], typeof(long)),
                    LoggedDate =
                        GetValue <DateTime>(
                            Utilities.GetLocalTimeString(auditLogReport.CurrentDateTime,
                                                         Convert.ToDateTime(auditDataRow["LoggedDate"])), typeof(DateTime)),
                    UserName = GetStringValue(auditDataRow["UserName"]),
                    Action = GetStringValue(auditDataRow["Action"]),
                    ObjectType = GetStringValue(auditDataRow["ObjectType"]),
                    FacilityName = GetStringValue(auditDataRow["FacilityName"]),
                    ModelName = GetStringValue(auditDataRow["ModelName"]),
                    ContractName = GetStringValue(auditDataRow["ContractName"]),
                    ServiceTypeName =
                        GetStringValue(auditDataRow["ServiceTypeName"]),
                    Description = GetStringValue(auditDataRow["Description"]),
                }).ToList();
            }

            return(auditReport);
        }
Exemplo n.º 6
0
        public void SaveAuditLogDescriptionIsNull()
        {
            var mockUserRepository = new Mock <IUserRepository>();
            // Arrange
            AuditLogReport auditlog = new AuditLogReport
            {
                RequestedUserName = "******",
                Description       = " "
            };

            const int expectedResult = 0;

            mockUserRepository.Setup(f => f.SaveAuditLog(auditlog)).Returns(expectedResult);
            _target = new UserLogic(mockUserRepository.Object);
            //Act
            int actual = _target.SaveAuditLog(auditlog);

            // Assert
            Assert.AreEqual(expectedResult, actual);
        }
        //FIXED-NOV15 - In place of 3 argument use AuditLogReport model which has all properties
        /// <summary>
        /// Audits the log report.
        /// </summary>
        /// <param name="auditLogReport">The audit log report.</param>
        /// <param name="currentDateTime">The current date time.</param>
        /// <returns></returns>
        public ActionResult AuditLogReport(AuditLogReport auditLogReport, string currentDateTime)
        {
            string currentUserName = GetCurrentUserName();

            auditLogReport.UserName = currentUserName;
            auditLogReport.CommandTimeoutForAuditLog =
                Convert.ToInt32(GlobalConfigVariable.CommandTimeoutForClaimAdjudication);
            auditLogReport.MaxLinesForCsvReport = Convert.ToInt32(GlobalConfigVariable.MaxRecordLimitForExcelReport);
            auditLogReport.CurrentDateTime      = currentDateTime;
            auditLogReport.FacilityName         = GetCurrentFacilityName();
            AuditLogReportViewModel auditLogReportViewModelList =
                Mapper.Map <AuditLogReport, AuditLogReportViewModel>(
                    PostApiResponse <AuditLogReport>(Constants.AuditLogReport,
                                                     Constants.GetAuditLogReport,
                                                     auditLogReport));

            // Gets the current CST time.
            auditLogReportViewModelList.CurrentDateTime = Utilities.GetLocalTimeString(currentDateTime);
            auditLogReportViewModelList.UserName        = currentUserName;
            return(Json(AuditLogReportUtil.GetExportedFileName(auditLogReportViewModelList, GlobalConfigVariable.ReportsFilePath)));
        }
Exemplo n.º 8
0
 /// <summary>
 /// Gets the audit log report.
 /// </summary>
 /// <param name="auditLogReport">The audit log report.</param>
 /// <returns></returns>
 public AuditLogReport GetAuditLogReport(AuditLogReport auditLogReport)
 {
     return(_auditLogReportRepository.GetAuditLogReport(auditLogReport));
 }
Exemplo n.º 9
0
 public AuditLogReport GetAuditLogReport(AuditLogReport auditLogReport)
 {
     return(_auditLogReportLogic.GetAuditLogReport(auditLogReport));
 }
Exemplo n.º 10
0
 public int SaveAuditLog(AuditLogReport auditLog)
 {
     return(_userLogic.SaveAuditLog(auditLog));
 }
Exemplo n.º 11
0
 /// <summary>
 /// Save AuditLog
 /// </summary>
 /// <param name="auditLog"></param>
 /// <returns></returns>
 public int SaveAuditLog(AuditLogReport auditLog)
 {
     return(_userRepository.SaveAuditLog(auditLog));
 }