Esempio n. 1
0
        private List <DOADM_AlertDetails> PGetAlerts(string strTitle = "", string strDescription = "", bool bolIsActive = true)
        {
            long?TimeZone = currentUser.ADM_UserPreference.TimezoneLkup != null ? currentUser.ADM_UserPreference.TimezoneLkup : (long)DefaultTimeZone.CentralStandardTime;
            //temporary object for search alert function
            DOADM_AlertDetails objDOADM_AlertDetails = new DOADM_AlertDetails();

            objDOADM_AlertDetails.IsActive         = bolIsActive;
            objDOADM_AlertDetails.AlertTitle       = strTitle;
            objDOADM_AlertDetails.AlertDescription = strDescription;
            objDOADM_AlertDetails.ConsiderDates    = false;
            List <DOADM_AlertDetails>  lstDOADM_AlertDetails;
            List <DORPT_ReportsMaster> lstDORPT_ReportsMaster;
            string         errorMessage  = string.Empty;
            ExceptionTypes result        = _objBLAlerts.SearchAlerts(TimeZone, objDOADM_AlertDetails, out lstDOADM_AlertDetails, out errorMessage);
            ExceptionTypes resultReports = _objBLReports.GetAllReports((long)ReportId.AlertsHistoryReport, string.Empty, out lstDORPT_ReportsMaster, out errorMessage);

            //check result for DB action
            if (result != (long)ExceptionTypes.Success)
            {
                BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, errorMessage, errorMessage);
            }
            else if (result == ExceptionTypes.ZeroRecords)
            {
                lstDOADM_AlertDetails = new List <DOADM_AlertDetails>();
            }
            objDOADM_AlertDetails.lstReports = lstDORPT_ReportsMaster;
            return(lstDOADM_AlertDetails);
        }
Esempio n. 2
0
        public ExceptionTypes SearchAlerts(long?TimeZone, DOADM_AlertDetails objDOADM_AlertDetails, out List <DOADM_AlertDetails> lstDOADM_AlertDetails, out string errorMessage)
        {
            lstDOADM_AlertDetails = new List <DOADM_AlertDetails>();
            errorMessage          = string.Empty;
            try
            {
                DAHelper dah          = new DAHelper();
                long     lErrocode    = 0;
                long     lErrorNumber = 0;
                DataSet  dsResultData = new DataSet();

                List <SqlParameter> parameters = new List <SqlParameter>();

                //call function to map object properties to SQL parameters for query execution
                parameters = MapAlertDetailsAlertDO(objDOADM_AlertDetails);
                SqlParameter sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@ConsiderDates";
                sqlParam.SqlDbType     = SqlDbType.Bit;
                sqlParam.Value         = objDOADM_AlertDetails.ConsiderDates;
                parameters.Add(sqlParam);

                long executionResult = dah.ExecuteSelectSP(ConstantTexts.USP_APP_SEL_ADM_AlertDetails, parameters.ToArray(), out dsResultData, out lErrocode, out lErrorNumber, out errorMessage);
                if (executionResult == 0)
                {
                    if (dsResultData.Tables.Count > 0 && dsResultData.Tables[0].Rows.Count > 0)
                    {
                        //call function to map dataset result to object properties
                        MapAlertDOAlertDetails(TimeZone, dsResultData.Tables[0], out lstDOADM_AlertDetails);
                        return(ExceptionTypes.Success);
                    }
                    else
                    {
                        return(ExceptionTypes.ZeroRecords);
                    }
                }
                else
                {
                    return(ExceptionTypes.UnknownError);
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return(ExceptionTypes.UnknownError);
            }
        }
Esempio n. 3
0
        public ActionResult Add(DOADM_AlertDetails objDOADM_AlertDetails)
        {
            string         errorMessage  = string.Empty;
            long           loginUserId   = currentUser.ADM_UserMasterId;
            string         returnMessage = "";
            ExceptionTypes result        = new ExceptionTypes();

            try
            {
                //check if this call is to update record or save new record
                if (objDOADM_AlertDetails.ADM_AlertDetailsId > 0)
                {
                    //if old record is to be updated
                    BLCommon objCommon = new BLCommon();
                    //check if record is locked by current user
                    if (!objCommon.ValidateLockBeforeSave(loginUserId, (long)ScreenType.Alerts, objDOADM_AlertDetails.ADM_AlertDetailsId))
                    {
                        //if record is not locked by current user dont save record and return error.
                        errorMessage = "Record not locked, please reload the page.";
                        result       = ExceptionTypes.UnknownError;
                        return(Json(new { ID = result, Message = errorMessage }));
                    }

                    returnMessage = "Record updated successfully.";
                }
                else
                {
                    //If new record to be saved
                    returnMessage = "Record saved successfully.";
                }
                objDOADM_AlertDetails.LoginUserId = loginUserId;
                result = _objBLAlerts.SaveAlert(objDOADM_AlertDetails, out errorMessage);
                //check result for DB action
                if (result != (long)ExceptionTypes.Success)
                {
                    BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, errorMessage, errorMessage);
                    return(Json(new { ID = result, Message = "An error occured while updating DB." }));
                }
                return(Json(new { ID = result, Message = returnMessage }));
            }
            catch (Exception ex)
            {
                BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, ex.ToString(), ex.ToString());
                return(Json(new { ID = result, Message = "An error occured while updating DB." }));
            }
        }
Esempio n. 4
0
        private List <DOADM_AlertDetails> GetAlerts(long lUserId)
        {
            long?              TimeZone = currentUser.ADM_UserPreference.TimezoneLkup != null ? currentUser.ADM_UserPreference.TimezoneLkup : (long)DefaultTimeZone.CentralStandardTime;
            ExceptionTypes     result;
            BLAlerts           objBLAlerts           = new BLAlerts();
            DOADM_AlertDetails objDOADM_AlertDetails = new DOADM_AlertDetails();

            objDOADM_AlertDetails.LoginUserId   = lUserId;//CreatedByRef is mapped to @loginID SQL Parameter
            objDOADM_AlertDetails.IsActive      = true;
            objDOADM_AlertDetails.ConsiderDates = true;
            result = objBLAlerts.SearchAlerts(TimeZone, objDOADM_AlertDetails, out List <DOADM_AlertDetails> lstDOADM_AlertDetails, out string strErrorMessage);
            lstDOADM_AlertDetails = lstDOADM_AlertDetails.OrderByDescending(x => x.AlertCriticalityLkup).ToList();
            //check result for DB action
            if (result != (long)ExceptionTypes.Success)
            {
                BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Home, (long)ExceptionTypes.Uncategorized, strErrorMessage, strErrorMessage);
            }
            return(lstDOADM_AlertDetails);
        }
Esempio n. 5
0
        public ExceptionTypes SaveAlert(DOADM_AlertDetails objDOADM_AlertDetails, out string errorMessage)
        {
            errorMessage = string.Empty;
            try
            {
                DAHelper dah          = new DAHelper();
                long     lErrocode    = 0;
                long     lErrorNumber = 0;

                List <SqlParameter> parameters = new List <SqlParameter>();

                //call function to map object properties to SQL parameters for query execution
                parameters = MapAlertDetailsAlertDO(objDOADM_AlertDetails);

                //Extra parameter when adding or editing record for releasing lock
                //not needed when searching records
                SqlParameter sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@ScreenLkup";
                sqlParam.SqlDbType     = SqlDbType.VarChar;
                sqlParam.Value         = (long)ScreenType.Alerts;
                parameters.Add(sqlParam);


                long executionResult = dah.ExecuteDMLSP(ConstantTexts.USP_APP_INS_UPD_AlertsDetails, parameters.ToArray(), out lErrocode, out lErrocode, out lErrorNumber, out errorMessage);
                if (executionResult == 0)
                {
                    return(ExceptionTypes.Success);
                }
                else
                {
                    return(ExceptionTypes.UnknownError);
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return(ExceptionTypes.UnknownError);
            }
        }
Esempio n. 6
0
        public ActionResult ReadAlert(long AlertId = 0)
        {
            long?TimeZone = currentUser.ADM_UserPreference.TimezoneLkup != null ? currentUser.ADM_UserPreference.TimezoneLkup : (long)DefaultTimeZone.CentralStandardTime;
            DOADM_AlertDetails objDOADM_AlertDetails = new DOADM_AlertDetails();

            objDOADM_AlertDetails.IsActive = true;
            string errorMessage = string.Empty;

            try
            {
                ExceptionTypes result;
                if (AlertId != 0)
                {
                    //temporary list to hold search alerts results
                    List <DOADM_AlertDetails> lstDOADM_AlertDetails = new List <DOADM_AlertDetails>();
                    //temporary object for search alerts function
                    DOADM_AlertDetails objDOADM_AlertDetails_Find = new DOADM_AlertDetails();
                    objDOADM_AlertDetails_Find.ADM_AlertDetailsId = AlertId;
                    objDOADM_AlertDetails_Find.IsActive           = true;
                    result = _objBLAlerts.SearchAlerts(TimeZone, objDOADM_AlertDetails_Find, out lstDOADM_AlertDetails, out errorMessage);
                    //check result for DB action
                    if (result != (long)ExceptionTypes.Success)
                    {
                        BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, errorMessage, errorMessage);
                    }
                    if (lstDOADM_AlertDetails.Count > 0)
                    {
                        objDOADM_AlertDetails = lstDOADM_AlertDetails.FirstOrDefault();
                    }
                }
                return(PartialView("_ReadAlert", objDOADM_AlertDetails));
            }
            catch (Exception ex)
            {
                BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, ex.ToString(), ex.ToString());
                return(RedirectToAction("Maintenance", "Error", new { Error = ex.ToString() }));
            }
        }
Esempio n. 7
0
 public ExceptionTypes SaveAlert(DOADM_AlertDetails objDOADM_AlertDetails, out string errorMessage)
 {
     _retValue = new ExceptionTypes();
     return(_retValue = _objDALAlerts.SaveAlert(objDOADM_AlertDetails, out errorMessage));
 }
Esempio n. 8
0
 public ExceptionTypes SearchAlerts(long?TimeZone, DOADM_AlertDetails objDOADM_AlertDetails, out List <DOADM_AlertDetails> lstDOADM_AlertDetails, out string errorMessage)
 {
     _retValue = new ExceptionTypes();
     return(_retValue = _objDALAlerts.SearchAlerts(TimeZone, objDOADM_AlertDetails, out lstDOADM_AlertDetails, out errorMessage));
 }
Esempio n. 9
0
        //function to map SQL parameters to object properties
        private void MapAlertDOAlertDetails(long?TimeZone, DataTable objDataTable, out List <DOADM_AlertDetails> lstDOADM_AlertDetails)
        {
            lstDOADM_AlertDetails = new List <DOADM_AlertDetails>();
            foreach (DataRow dr in objDataTable.Rows)
            {
                DOADM_AlertDetails objDOADM_AlertDetails = new DOADM_AlertDetails();
                if (dr.Table.Columns.Contains("ADM_AlertDetailsId"))
                {
                    if (!DBNull.Value.Equals(dr["ADM_AlertDetailsId"]))
                    {
                        objDOADM_AlertDetails.ADM_AlertDetailsId = (long)dr["ADM_AlertDetailsId"];
                    }
                }
                if (dr.Table.Columns.Contains("LockedByRef"))
                {
                    if (!DBNull.Value.Equals(dr["LockedByRef"]))
                    {
                        objDOADM_AlertDetails.LockedByRef = (long)dr["LockedByRef"];
                    }
                }
                if (dr.Table.Columns.Contains("UTCLockedOn"))
                {
                    if (!DBNull.Value.Equals(dr["UTCLockedOn"]))
                    {
                        objDOADM_AlertDetails.UTCLockedOn = ZoneLookupUI.ConvertToTimeZone(dr["UTCLockedOn"].ToDateTime(), TimeZone);
                    }
                }
                if (dr.Table.Columns.Contains("AlertTitle"))
                {
                    if (!DBNull.Value.Equals(dr["AlertTitle"]))
                    {
                        objDOADM_AlertDetails.AlertTitle = dr["AlertTitle"].ToString();
                    }
                }
                if (dr.Table.Columns.Contains("AlertDescription"))
                {
                    if (!DBNull.Value.Equals(dr["AlertDescription"]))
                    {
                        objDOADM_AlertDetails.AlertDescription = dr["AlertDescription"].ToString();
                    }
                }
                if (dr.Table.Columns.Contains("AlertPublishedDate"))
                {
                    if (!DBNull.Value.Equals(dr["AlertPublishedDate"]))
                    {
                        objDOADM_AlertDetails.AlertPublishedDate = Convert.ToDateTime(dr["AlertPublishedDate"]);
                    }
                }
                if (dr.Table.Columns.Contains("AlertEffectiveDate"))
                {
                    if (!DBNull.Value.Equals(dr["AlertEffectiveDate"]))
                    {
                        objDOADM_AlertDetails.AlertEffectiveDate = Convert.ToDateTime(dr["AlertEffectiveDate"]);
                    }
                }
                if (dr.Table.Columns.Contains("AlertInactivationDate"))
                {
                    if (!DBNull.Value.Equals(dr["AlertInactivationDate"]))
                    {
                        objDOADM_AlertDetails.AlertInactivationDate = Convert.ToDateTime(dr["AlertInactivationDate"]);
                    }
                }
                if (dr.Table.Columns.Contains("IsActive"))
                {
                    if (!DBNull.Value.Equals(dr["IsActive"]))
                    {
                        objDOADM_AlertDetails.IsActive = Convert.ToBoolean(dr["IsActive"]);
                    }
                }
                if (dr.Table.Columns.Contains("UTCCreatedOn"))
                {
                    if (!DBNull.Value.Equals(dr["UTCCreatedOn"]))
                    {
                        objDOADM_AlertDetails.UTCCreatedOn = ZoneLookupUI.ConvertToTimeZone(dr["UTCCreatedOn"].ToDateTime(), TimeZone);
                    }
                }
                if (dr.Table.Columns.Contains("UTCLastUpdatedOn"))
                {
                    if (!DBNull.Value.Equals(dr["UTCLastUpdatedOn"]))
                    {
                        objDOADM_AlertDetails.UTCLastUpdatedOn = ZoneLookupUI.ConvertToTimeZone(dr["UTCLastUpdatedOn"].ToDateTime(), TimeZone);
                    }
                }

                //Ref Keys
                if (dr.Table.Columns.Contains("CMN_DepartmentRef"))
                {
                    if (!DBNull.Value.Equals(dr["CMN_DepartmentRef"]))
                    {
                        objDOADM_AlertDetails.CMN_DepartmentRef = (long)dr["CMN_DepartmentRef"];
                    }
                }
                if (dr.Table.Columns.Contains("AlertCriticalityLkup"))
                {
                    if (!DBNull.Value.Equals(dr["AlertCriticalityLkup"]))
                    {
                        objDOADM_AlertDetails.AlertCriticalityLkup = (long)dr["AlertCriticalityLkup"];
                    }
                }
                if (dr.Table.Columns.Contains("SendAlertToLkup"))
                {
                    if (!DBNull.Value.Equals(dr["SendAlertToLkup"]))
                    {
                        objDOADM_AlertDetails.SendAlertToLkup = (long)dr["SendAlertToLkup"];
                    }
                }
                if (dr.Table.Columns.Contains("ADM_UserMasterRef"))
                {
                    if (!DBNull.Value.Equals(dr["ADM_UserMasterRef"]))
                    {
                        objDOADM_AlertDetails.ADM_UserMasterRef = (long)dr["ADM_UserMasterRef"];
                    }
                }
                if (dr.Table.Columns.Contains("CreatedByRef"))
                {
                    if (!DBNull.Value.Equals(dr["CreatedByRef"]))
                    {
                        objDOADM_AlertDetails.CreatedByRef = (long)dr["CreatedByRef"];
                    }
                }
                if (dr.Table.Columns.Contains("LastUpdatedByRef"))
                {
                    if (!DBNull.Value.Equals(dr["LastUpdatedByRef"]))
                    {
                        objDOADM_AlertDetails.LastUpdatedByRef = (long)dr["LastUpdatedByRef"];
                    }
                }

                //Ref key values
                if (dr.Table.Columns.Contains("CreatedByName"))
                {
                    if (!DBNull.Value.Equals(dr["CreatedByName"]))
                    {
                        objDOADM_AlertDetails.CreatedByName = dr["CreatedByName"].ToString();
                    }
                }
                if (dr.Table.Columns.Contains("DepartmentName"))
                {
                    if (!DBNull.Value.Equals(dr["DepartmentName"]))
                    {
                        objDOADM_AlertDetails.DepartmentName = dr["DepartmentName"].ToString();
                    }
                }
                if (dr.Table.Columns.Contains("LockedByName"))
                {
                    if (!DBNull.Value.Equals(dr["LockedByName"]))
                    {
                        objDOADM_AlertDetails.LockedByName = dr["LockedByName"].ToString();
                    }
                }
                if (dr.Table.Columns.Contains("AlertCriticalityValue"))
                {
                    if (!DBNull.Value.Equals(dr["AlertCriticalityValue"]))
                    {
                        objDOADM_AlertDetails.AlertCriticalityValue = dr["AlertCriticalityValue"].ToString();
                    }
                }
                if (dr.Table.Columns.Contains("SendAlertToValue"))
                {
                    if (!DBNull.Value.Equals(dr["SendAlertToValue"]))
                    {
                        objDOADM_AlertDetails.SendAlertToValue = dr["SendAlertToValue"].ToString();
                    }
                }
                {
                    if (!DBNull.Value.Equals(dr["IndividualUserName"]))
                    {
                        objDOADM_AlertDetails.IndividualUserName = dr["IndividualUserName"].ToString();
                    }
                }
                {
                    if (!DBNull.Value.Equals(dr["LastUpdatedByName"]))
                    {
                        objDOADM_AlertDetails.LastUpdatedByName = dr["LastUpdatedByName"].ToString();
                    }
                }
                lstDOADM_AlertDetails.Add(objDOADM_AlertDetails);
                //sort list by Alert Titles
                lstDOADM_AlertDetails = lstDOADM_AlertDetails.OrderBy(x => x.AlertTitle).ToList();
            }
        }
Esempio n. 10
0
        //function to map object properties to SQL parameters
        private List <SqlParameter> MapAlertDetailsAlertDO(DOADM_AlertDetails objDOADM_AlertDetails)
        {
            List <SqlParameter> parameters = new List <SqlParameter>();
            SqlParameter        sqlParam;

            if (objDOADM_AlertDetails.ADM_AlertDetailsId != 0)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@ADM_AlertDetailsId";
                sqlParam.SqlDbType     = SqlDbType.BigInt;
                sqlParam.Value         = objDOADM_AlertDetails.ADM_AlertDetailsId;
                parameters.Add(sqlParam);
            }

            if (!string.IsNullOrEmpty(objDOADM_AlertDetails.AlertTitle))
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@AlertTitle";
                sqlParam.SqlDbType     = SqlDbType.VarChar;
                sqlParam.Value         = objDOADM_AlertDetails.AlertTitle;
                parameters.Add(sqlParam);
            }

            if (!string.IsNullOrEmpty(objDOADM_AlertDetails.AlertDescription))
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@AlertDescription";
                sqlParam.SqlDbType     = SqlDbType.VarChar;
                sqlParam.Value         = objDOADM_AlertDetails.AlertDescription;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.AlertPublishedDate != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@AlertPublishedDate";
                sqlParam.SqlDbType     = SqlDbType.DateTime;
                sqlParam.Value         = objDOADM_AlertDetails.AlertPublishedDate;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.AlertEffectiveDate != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@AlertEffectiveDate";
                sqlParam.SqlDbType     = SqlDbType.DateTime;
                sqlParam.Value         = objDOADM_AlertDetails.AlertEffectiveDate;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.AlertInactivationDate != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@AlertInactivationDate";
                sqlParam.SqlDbType     = SqlDbType.DateTime;
                sqlParam.Value         = objDOADM_AlertDetails.AlertInactivationDate;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.AlertCriticalityLkup != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@AlertCriticalityLkup";
                sqlParam.SqlDbType     = SqlDbType.BigInt;
                sqlParam.Value         = objDOADM_AlertDetails.AlertCriticalityLkup;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.SendAlertToLkup != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@SendAlertToLkup";
                sqlParam.SqlDbType     = SqlDbType.BigInt;
                sqlParam.Value         = objDOADM_AlertDetails.SendAlertToLkup;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.CMN_DepartmentRef != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@CMN_DepartmentRef";
                sqlParam.SqlDbType     = SqlDbType.BigInt;
                sqlParam.Value         = objDOADM_AlertDetails.CMN_DepartmentRef;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.ADM_UserMasterRef != null)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@ADM_UserMasterRef";
                sqlParam.SqlDbType     = SqlDbType.BigInt;
                sqlParam.Value         = objDOADM_AlertDetails.ADM_UserMasterRef;
                parameters.Add(sqlParam);
            }

            if (objDOADM_AlertDetails.LoginUserId != 0)
            {
                sqlParam = new SqlParameter();
                sqlParam.ParameterName = "@LoginUserId";
                sqlParam.SqlDbType     = SqlDbType.BigInt;
                sqlParam.Value         = objDOADM_AlertDetails.LoginUserId;
                parameters.Add(sqlParam);
            }

            sqlParam = new SqlParameter();
            sqlParam.ParameterName = "@IsActive";
            sqlParam.SqlDbType     = SqlDbType.Bit;
            sqlParam.Value         = objDOADM_AlertDetails.IsActive;
            parameters.Add(sqlParam);

            sqlParam = new SqlParameter();
            sqlParam.ParameterName = "@ErrorMessage";
            sqlParam.SqlDbType     = SqlDbType.VarChar;
            sqlParam.Value         = string.Empty;
            sqlParam.Direction     = ParameterDirection.Output;
            sqlParam.Size          = 2000;
            parameters.Add(sqlParam);
            return(parameters);
        }
Esempio n. 11
0
        public ActionResult Add(long AlertId = 0, bool isActive = true)
        {
            DOADM_AlertDetails objDOADM_AlertDetails = new DOADM_AlertDetails();

            objDOADM_AlertDetails.IsActive = true;
            string errorMessage = string.Empty;

            try
            {
                ExceptionTypes result;

                //get list of users for Send ALert to Indiviual drop down
                List <DOADM_UserMaster> lstUsers;
                BLUserAdministration    objBLUserAdministration = new BLUserAdministration();
                DOADM_UserMaster        objDOADM_UserMaster     = new DOADM_UserMaster();
                objDOADM_UserMaster.IsActive = true;
                long?TimeZone = currentUser.ADM_UserPreference.TimezoneLkup != null ? currentUser.ADM_UserPreference.TimezoneLkup : (long)DefaultTimeZone.CentralStandardTime;
                result = objBLUserAdministration.SearchUser(TimeZone, objDOADM_UserMaster, out lstUsers, out errorMessage);
                //check result for DB action
                if (result != (long)ExceptionTypes.Success)
                {
                    BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, errorMessage, errorMessage);
                }
                //Filtered 1st three Users as Admin.sort list by email id
                lstUsers = lstUsers.Where(x => x.ADM_UserMasterId > 1000).OrderBy(x => x.Email).ToList();

                //get list of Depatments for Send ALert to Department drop down
                List <DOCMN_Department> lstCMN_Department;
                BLDepartment            objBLDepartment     = new BLDepartment();
                DOCMN_Department        objDOCMN_Department = new DOCMN_Department();
                objDOCMN_Department.IsActive = true;
                result = objBLDepartment.SearchDepartment(TimeZone, objDOCMN_Department, out lstCMN_Department, out errorMessage);
                //check result for DB action
                if (result != (long)ExceptionTypes.Success)
                {
                    BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, errorMessage, errorMessage);
                }
                //sort list by Depatment name
                lstCMN_Department = lstCMN_Department.OrderBy(x => x.ERSDepartmentName).ToList();

                if (AlertId != 0)
                {
                    //temporary list to hold search alerts results
                    List <DOADM_AlertDetails> lstDOADM_AlertDetails = new List <DOADM_AlertDetails>();
                    //temporary object for search alerts function
                    DOADM_AlertDetails objDOADM_AlertDetails_Find = new DOADM_AlertDetails();
                    objDOADM_AlertDetails_Find.ADM_AlertDetailsId = AlertId;
                    objDOADM_AlertDetails_Find.IsActive           = isActive;
                    result = _objBLAlerts.SearchAlerts(TimeZone, objDOADM_AlertDetails_Find, out lstDOADM_AlertDetails, out errorMessage);
                    //check result for DB action
                    if (result != (long)ExceptionTypes.Success)
                    {
                        BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, errorMessage, errorMessage);
                    }
                    if (lstDOADM_AlertDetails.Count > 0)
                    {
                        objDOADM_AlertDetails = lstDOADM_AlertDetails.FirstOrDefault();
                    }
                }

                objDOADM_AlertDetails.lstUsers          = lstUsers;
                objDOADM_AlertDetails.lstCMN_Department = lstCMN_Department;
                //Alert criticality lookup from Cache
                objDOADM_AlertDetails.lstAlertCriticalityLkup = CacheUtility.GetAllLookupsFromCache((long)LookupTypes.AlertCriticality);
                //Send Alert To lookup from Cache
                objDOADM_AlertDetails.lstSendAlertToLkup = CacheUtility.GetAllLookupsFromCache((long)LookupTypes.SendAlertTo);
                //Alert Time Zone lookup from Cache
                objDOADM_AlertDetails.lstTimeZone = CacheUtility.GetAllLookupsFromCache((long)LookupTypes.Timezone);
                return(View(objDOADM_AlertDetails));
            }
            catch (Exception ex)
            {
                BLCommon.LogError(currentUser.ADM_UserMasterId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Alerts, (long)ExceptionTypes.Uncategorized, ex.ToString(), ex.ToString());
                return(RedirectToAction("Maintenance", "Error", new { Error = ex.ToString() }));
            }
        }