コード例 #1
0
 /// <summary>
 /// To create employee list based on filters
 /// </summary>
 /// <param name="employeeList"></param>
 /// <param name="dataReader"></param>
 private void CreateEmployeeListBasedOnFilters(EmployeePagedModel employeeList, MySqlDataReader dataReader)
 {
     try
     {
         while (dataReader.Read())
         {
             employeeList.Employees.Add(new DataObjects.Employee
             {
                 OrganisationId = dataReader[0].ToString(),
                 Employee_Id    = int.Parse(dataReader[1].ToString()),
                 Name           = dataReader[2].ToString(),
                 DOB            = DateTime.Parse(dataReader[3].ToString()),
                 Gender         = dataReader[4].ToString(),
                 Joining_Date   = DateTime.Parse(dataReader[5].ToString()),
                 Department     = dataReader[6].ToString(),
                 Email          = dataReader[7].ToString(),
                 Contact_Number = dataReader[8].ToString(),
                 Status         = dataReader[9].ToString()
             });
         }
         employeeList.PageNumber = 10;
         if (dataReader.NextResult())
         {
             while (dataReader.Read())
             {
                 employeeList.PageCount = int.Parse(dataReader[0].ToString());
             }
         }
     }
     catch (Exception ex)
     {
         _Logger.Error(ex.ToString());
         throw ex;
     }
 }
コード例 #2
0
        /// <summary>
        /// To get list according to parameters like page,filters,search etc.
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public EmployeePagedModel GetActiveListByPagination(EmployeeParameters parameters)
        {
            _Logger.Info("DataAccessOperations.GetActiveListByPagination() called.");
            EmployeePagedModel EmployeeList = new EmployeePagedModel();

            try
            {
                using (MySqlConnection Connection = new MySqlConnection(_ConnectionString))
                {
                    Connection.Open();
                    MySqlCommand Command = new MySqlCommand("GetActiveEmployeesWithFilters", Connection);
                    Command.CommandType = CommandType.StoredProcedure;
                    Command.Parameters.AddWithValue("@orgId", parameters.OrganisationId ?? string.Empty);
                    Command.Parameters.AddWithValue("@searchstring", parameters.SearchString ?? string.Empty);
                    Command.Parameters.AddWithValue("@sortorder", parameters.SortOrder);
                    Command.Parameters.AddWithValue("@departmentfilter", parameters.DepartmentFilter);
                    Command.Parameters.AddWithValue("@genderfilter", parameters.GenderFilter);
                    Command.Parameters.AddWithValue("@lowerlimit", parameters.LowerLimit);
                    Command.Parameters.AddWithValue("@upperlimit", parameters.UpperLimit);
                    MySqlDataReader DataReader = Command.ExecuteReader();
                    EmployeeList.Employees = new List <Employee>();
                    CreateEmployeeListBasedOnFilters(EmployeeList, DataReader);
                }
            }
            catch (Exception ex)
            {
                _Logger.Fatal(ex.ToString());
                throw ex;
            }
            return(EmployeeList);
        }
コード例 #3
0
 /// <summary>
 /// Gets employee list as per all the filters,sortorder and searchstring
 /// </summary>
 /// <param name="model"></param>
 /// <param name="result"></param>
 private void ProcessEmployeeDataForMainGrid(EmployeePagedModel model, HttpResponseMessage result)
 {
     try
     {
         var ReadTask = result.Content.ReadAsAsync <EmployeePagedModel>();
         ReadTask.Wait();
         model.Employees  = ReadTask.Result.Employees;
         model.PageNumber = ReadTask.Result.PageNumber;
         float PaginationNumber;
         if ((ReadTask.Result.PageCount % ReadTask.Result.PageNumber) == 0)
         {
             PaginationNumber = (ReadTask.Result.PageCount / ReadTask.Result.PageNumber);
             model.PageCount  = int.Parse(Math.Ceiling(PaginationNumber).ToString());
         }
         else
         {
             PaginationNumber = (ReadTask.Result.PageCount / ReadTask.Result.PageNumber) + 1;
             model.PageCount  = int.Parse(Math.Ceiling(PaginationNumber).ToString());
         }
     }
     catch (Exception ex)
     {
         _Logger.Fatal(ex.ToString());
         throw ex;
     }
 }
コード例 #4
0
 /// <summary>
 /// Sets pagination parameters for the main grid
 /// </summary>
 /// <param name="page"></param>
 /// <param name="pageNumber"></param>
 /// <param name="lowerLimit"></param>
 /// <param name="model"></param>
 private void SetPaginationParameters(int?page, out int pageNumber, out int lowerLimit, out EmployeePagedModel model)
 {
     try
     {
         if (page == null)
         {
             pageNumber = 1;
         }
         else
         {
             pageNumber = page.Value;
         }
         lowerLimit = (pageNumber - 1) * 10;
         TempData["CurrentPage"] = pageNumber;
         model = new EmployeePagedModel
         {
             Employees  = new List <Employee>(),
             PageCount  = 0,
             PageNumber = 1
         };
     }
     catch (Exception ex)
     {
         _Logger.Fatal(ex.ToString());
         throw ex;
     }
 }
コード例 #5
0
 /// <summary>
 /// API to GET all employees based on filters and Sort Order
 /// </summary>
 /// <param name="parameters"></param>
 /// <returns></returns>
 public IHttpActionResult PostAllActiveEmployees(EmployeeParameters parameters)
 {
     _Logger.Info("PostAllActiveEmployees API called.");
     try
     {
         EmployeePagedModel EmployeeList = new EmployeePagedModel();
         EmployeeList = _BusinessOperations.GetActiveListByPagination(parameters);
         return(Ok(EmployeeList));
     }
     catch (EmployeeManagementExceptions exception)
     {
         _Logger.Error(exception.ToString());
         return(InternalServerError(exception));
     }
     catch (Exception ex)
     {
         _Logger.Fatal(ex.ToString());
         return(InternalServerError(ex));
     }
 }
コード例 #6
0
 /// <summary>
 /// To get list according to parameters like page,filters,search etc.
 /// </summary>
 /// <param name="parameters"></param>
 /// <returns></returns>
 public EmployeePagedModel GetActiveListByPagination(EmployeeParameters parameters)
 {
     _Logger.Info("BusinessOperations.GetActiveListByPagination() called." + JsonConvert.SerializeObject(parameters));
     try
     {
         if (parameters.SearchString == null)
         {
         }
         else if ((new Regex("^([&'-]+)$").IsMatch(parameters.SearchString)))
         {
             parameters.SearchString = null;
         }
         EmployeePagedModel EmployeeList = new EmployeePagedModel();
         EmployeeList = _EmployeeOperations.GetActiveListByPagination(parameters);
         return(EmployeeList);
     }
     catch (Exception ex)
     {
         _Logger.Fatal(ex.ToString());
         throw ex;
     }
 }