Пример #1
0
        public IActionResult AddNewEmployeeSubmitButton(string FullNameInput, string BirthDayInput, string QualificationInput, string FirstDayInput)
        {
            Console.WriteLine(FullNameInput + "  " + BirthDayInput + "   " + QualificationInput + "  " + FirstDayInput);


            if (Startup.isLogged == true)
            {
                try
                {
                    IEmployeeModel Dummy = EmployeeAbstractizationFactory.CreateEmployeeInstance(FullNameInput, BirthDayInput, QualificationInput, FirstDayInput);

                    EmployeesCRUDOperations.AddNewEmployeeToDatabase(Dummy);

                    return(RedirectToAction("Employees"));
                }
                catch (Exception ex)
                { return(RedirectToAction("Error")); }
            }
            else
            {
                return(RedirectToAction("Login", "Login"));
            }
        }
Пример #2
0
        public SmsPaymentsController(ILogger <SmsPaymentsController> logger,
                                     IConfiguration configuration,
                                     IActionTimeHelper actionTimeHelper,
                                     ISmsPaymentModel aPISmsPaymentData,
                                     SmsPaymentStatusConverter smsPaymentConverter,
                                     IOrderModel aPIOrderData,
                                     IEmployeeModel employeeData,
                                     IDriverMobileAppActionRecordModel driverMobileAppActionRecordModel,
                                     UserManager <IdentityUser> userManager)
        {
            if (configuration is null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            _logger              = logger ?? throw new ArgumentNullException(nameof(logger));
            _actionTimeHelper    = actionTimeHelper ?? throw new ArgumentNullException(nameof(actionTimeHelper));
            _aPISmsPaymentData   = aPISmsPaymentData ?? throw new ArgumentNullException(nameof(aPISmsPaymentData));
            _smsPaymentConverter = smsPaymentConverter ?? throw new ArgumentNullException(nameof(smsPaymentConverter));
            _aPIOrderData        = aPIOrderData ?? throw new ArgumentNullException(nameof(aPIOrderData));
            _employeeData        = employeeData ?? throw new ArgumentNullException(nameof(employeeData));
            _driverMobileAppActionRecordModel = driverMobileAppActionRecordModel ?? throw new ArgumentNullException(nameof(driverMobileAppActionRecordModel));
            _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager));
        }
Пример #3
0
 public EmployeeLogic(IEmployeeRepo employeeRepo, IEmployeeModel employeeModel)
 {
     _employeeRepo  = employeeRepo;
     _employeeModel = employeeModel;
 }
 public void SaveEmployee(IEmployeeModel employee)
 {
     _dataAccess.Save(employee);
 }
Пример #5
0
 public void Update(IEmployeeModel employeeModel)
 {
     employeeRepository.Update(employeeModel);
 }
Пример #6
0
 public void ValidateModelDataAnnotations(IEmployeeModel employeeModel)
 {
     this.modelDataAnnotationCheck.ValidateModelDataAnnotations(employeeModel);
 }
Пример #7
0
 public void Remove(IEmployeeModel employeeModel)
 {
     employeeRepository.Remove(employeeModel);
 }
Пример #8
0
 public void Add(IEmployeeModel employeeModel)
 {
     employeeRepository.Add(employeeModel);
 }
        public void Add(IEmployeeModel employeeModel)
        {
            DataAccessStatus dataAccessStatus = new DataAccessStatus();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                try
                {
                    sqlConnection.Open();
                }
                catch (SqlException e)
                {
                    dataAccessStatus.setValues(status: "Error", operationSucceeded: false, exceptionMessage: e.Message,
                                               customMessage: "Unable to add Employee Model. Could not open a database connection", helpLink: e.HelpLink, errorCode: e.ErrorCode,
                                               stackTrace: e.StackTrace);

                    throw new DataAccessException(e.Message, e.InnerException, dataAccessStatus);
                }

                string addQuery =
                    "INSERT INTO Employees (Fullname, PhoneNumber, Address, Gender, Status, Country, DOB, Email, PersonalPhoto, Position, DepartmentID) " +
                    "VALUES (@Name, @PhoneNumber, @Address, @Gender, @Status, @Country, @DOB, @Email, @PersonalPhoto, @Position, @DepartmentID)";

                using (SqlCommand cmd = new SqlCommand(null, sqlConnection))
                {
                    try
                    {
                        RecordExistsCheck(cmd, employeeModel, TypeOfExistenceCheck.DoesNotExistInDB, RequestType.Add);
                    }
                    catch (DataAccessException e)
                    {
                        e.DataAccessStatusInfo.CustomMessage    = "Employee model could not be added because an employee with the same email is already in the database.";
                        e.DataAccessStatusInfo.ExceptionMessage = string.Copy(e.Message);
                        e.DataAccessStatusInfo.StackTrace       = string.Copy(e.StackTrace);

                        throw e;
                    }

                    cmd.CommandText = addQuery;

                    SqlParameter name     = new SqlParameter("@Name", System.Data.SqlDbType.VarChar, 40);
                    SqlParameter phone    = new SqlParameter("@PhoneNumber", System.Data.SqlDbType.VarChar, 20);
                    SqlParameter address  = new SqlParameter("@Address", System.Data.SqlDbType.VarChar);
                    SqlParameter gender   = new SqlParameter("@Gender", System.Data.SqlDbType.VarChar);
                    SqlParameter status   = new SqlParameter("@Status", System.Data.SqlDbType.VarChar);
                    SqlParameter country  = new SqlParameter("@Country", System.Data.SqlDbType.VarChar);
                    SqlParameter dob      = new SqlParameter("@DOB", System.Data.SqlDbType.Date);
                    SqlParameter email    = new SqlParameter("@Email", System.Data.SqlDbType.VarChar);
                    SqlParameter position = new SqlParameter("@Position", System.Data.SqlDbType.VarChar);
                    SqlParameter photo    = new SqlParameter("@PersonalPhoto", System.Data.SqlDbType.VarBinary);
                    SqlParameter depId    = new SqlParameter("@DepartmentID", System.Data.SqlDbType.Int);



                    name.Value    = employeeModel.Fullname;
                    phone.Value   = employeeModel.PhoneNumber;
                    address.Value = employeeModel.Address;
                    gender.Value  = employeeModel.Gender;
                    country.Value = employeeModel.Country;
                    dob.Value     = employeeModel.DOB;
                    email.Value   = employeeModel.Email;


                    if (!string.IsNullOrEmpty(employeeModel.Status))
                    {
                        status.Value = employeeModel.Status;
                    }
                    else
                    {
                        status.Value = DBNull.Value;
                    }
                    if (!string.IsNullOrEmpty(employeeModel.Position))
                    {
                        position.Value = employeeModel.Position;
                    }
                    else
                    {
                        position.Value = DBNull.Value;
                    }

                    if (employeeModel.PersonalPhoto.Length > 0)
                    {
                        photo.Value = employeeModel.PersonalPhoto;
                    }
                    else
                    {
                        photo.Value = DBNull.Value;
                    }

                    if (employeeModel.DepartmentID != 0)
                    {
                        depId.Value = employeeModel.DepartmentID;
                    }
                    else
                    {
                        depId.Value = DBNull.Value;
                    }
                    cmd.Parameters.Add(name);
                    cmd.Parameters.Add(phone);
                    cmd.Parameters.Add(address);
                    cmd.Parameters.Add(gender);
                    cmd.Parameters.Add(status);
                    cmd.Parameters.Add(country);
                    cmd.Parameters.Add(email);
                    cmd.Parameters.Add(position);
                    cmd.Parameters.Add(dob);
                    cmd.Parameters.Add(photo);
                    cmd.Parameters.Add(depId);

                    try
                    {
                        cmd.ExecuteNonQuery();
                    }
                    catch (SqlException e)
                    {
                        dataAccessStatus.setValues(status: "Error", operationSucceeded: false, exceptionMessage: e.Message,
                                                   customMessage: "Unable to add Employee Model.", helpLink: e.HelpLink, errorCode: e.ErrorCode,
                                                   stackTrace: e.StackTrace);

                        throw new DataAccessException(e.Message, e.InnerException, dataAccessStatus);
                    }

                    //Confirm the Employee Model was Added to the database
                    try
                    {
                        RecordExistsCheck(cmd, employeeModel, TypeOfExistenceCheck.DoesExistInDB, RequestType.ConfirmAdd);
                    }
                    catch (DataAccessException e)
                    {
                        e.DataAccessStatusInfo.Status             = "Error";
                        e.DataAccessStatusInfo.OperationSucceeded = false;
                        e.DataAccessStatusInfo.CustomMessage      = "Failed to find employee model in database after add operation completed.";
                        e.DataAccessStatusInfo.ExceptionMessage   = string.Copy(e.Message);
                        e.DataAccessStatusInfo.StackTrace         = string.Copy(e.StackTrace);

                        throw new DataAccessException(dataAccessStatus);
                    }

                    sqlConnection.Close();
                }
            }
        }
        public void Update(IEmployeeModel employeeModel)
        {
            int result = -1;
            DataAccessStatus dataAccessStatus = new DataAccessStatus();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                try
                {
                    sqlConnection.Open();
                }
                catch (SqlException e)
                {
                    dataAccessStatus.setValues(status: "Error", operationSucceeded: false, exceptionMessage: e.Message,
                                               customMessage: "Unable to Update Employee Model. Could not open database connection.",
                                               helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace);

                    throw new DataAccessException(e.Message, e.InnerException, dataAccessStatus);
                }


                string updateQuery =
                    "UPDATE Employees " +
                    "SET Fullname = @Name , " +
                    "PhoneNumber = @PhoneNumber ," +
                    "DepartmentID = @DepartmentID ," +
                    "Address = @Address , " +
                    "Gender = @Gender , " +
                    "Status = @Status , " +
                    "Email = @Email , " +
                    "PersonalPhoto = @Photo , " +
                    "Country = @Country , " +
                    "DOB = @DOB , " +
                    "Position = @Position " +
                    "WHERE ID =  @ID ";

                using (SqlCommand cmd = new SqlCommand(updateQuery, sqlConnection))
                {
                    try
                    {
                        RecordExistsCheck(cmd, employeeModel, TypeOfExistenceCheck.DoesExistInDB, RequestType.Update);
                    }
                    catch (DataAccessException e)
                    {
                        e.DataAccessStatusInfo.CustomMessage    = "Employee model could not be updated because it could not be found in the database";
                        e.DataAccessStatusInfo.ExceptionMessage = string.Copy(e.Message);
                        e.DataAccessStatusInfo.StackTrace       = string.Copy(e.StackTrace);

                        throw e;
                    }
                    cmd.CommandText = updateQuery;

                    SqlParameter name     = new SqlParameter("@Name", System.Data.SqlDbType.VarChar, 40);
                    SqlParameter phone    = new SqlParameter("@PhoneNumber", System.Data.SqlDbType.VarChar, 20);
                    SqlParameter address  = new SqlParameter("@Address", System.Data.SqlDbType.VarChar, 50);
                    SqlParameter gender   = new SqlParameter("@Gender", System.Data.SqlDbType.VarChar, 7);
                    SqlParameter status   = new SqlParameter("@Status", System.Data.SqlDbType.VarChar, 15);
                    SqlParameter country  = new SqlParameter("@Country", System.Data.SqlDbType.VarChar, 20);
                    SqlParameter dob      = new SqlParameter("@DOB", System.Data.SqlDbType.Date);
                    SqlParameter email    = new SqlParameter("@Email", System.Data.SqlDbType.VarChar, 50);
                    SqlParameter position = new SqlParameter("@Position", System.Data.SqlDbType.VarChar, 50);
                    SqlParameter photo    = new SqlParameter("@Photo", System.Data.SqlDbType.VarBinary, -1);
                    SqlParameter depId    = new SqlParameter("@DepartmentID", System.Data.SqlDbType.Int);
                    SqlParameter id       = new SqlParameter("@ID", System.Data.SqlDbType.Int);

                    name.Value    = employeeModel.Fullname;
                    phone.Value   = employeeModel.PhoneNumber;
                    address.Value = employeeModel.Address;
                    gender.Value  = employeeModel.Gender;
                    country.Value = employeeModel.Country;
                    dob.Value     = employeeModel.DOB;
                    email.Value   = employeeModel.Email;
                    id.Value      = employeeModel.ID;

                    if (!string.IsNullOrEmpty(employeeModel.Status))
                    {
                        status.Value = employeeModel.Status;
                    }
                    else
                    {
                        status.Value = DBNull.Value;
                    }
                    if (!string.IsNullOrEmpty(employeeModel.Position))
                    {
                        position.Value = employeeModel.Position;
                    }
                    else
                    {
                        position.Value = DBNull.Value;
                    }

                    if (employeeModel.PersonalPhoto.Length > 0)
                    {
                        photo.Value = employeeModel.PersonalPhoto;
                    }
                    else
                    {
                        photo.Value = DBNull.Value;
                    }

                    if (employeeModel.DepartmentID != 0)
                    {
                        depId.Value = employeeModel.DepartmentID;
                    }
                    else
                    {
                        depId.Value = DBNull.Value;
                    }
                    cmd.Parameters.Add(name);
                    cmd.Parameters.Add(phone);
                    cmd.Parameters.Add(address);
                    cmd.Parameters.Add(gender);
                    cmd.Parameters.Add(status);
                    cmd.Parameters.Add(country);
                    cmd.Parameters.Add(dob);
                    cmd.Parameters.Add(email);
                    cmd.Parameters.Add(position);
                    cmd.Parameters.Add(photo);
                    cmd.Parameters.Add(depId);
                    cmd.Parameters.Add(id);

                    cmd.Prepare();
                    try
                    {
                        result = cmd.ExecuteNonQuery();
                    }
                    catch (SqlException e)
                    {
                        dataAccessStatus.setValues(status: "Error", operationSucceeded: false, exceptionMessage: e.Message,
                                                   customMessage: "Unable to Update Employee Model.",
                                                   helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace);

                        throw new DataAccessException(e.Message, e.InnerException, dataAccessStatus);
                    }
                }
                sqlConnection.Close();
            }
        }
        public void Remove(IEmployeeModel employeeModel)
        {
            DataAccessStatus dataAccessStatus = new DataAccessStatus();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                try
                {
                    sqlConnection.Open();
                }
                catch (SqlException e)
                {
                    dataAccessStatus.setValues(status: "Error", operationSucceeded: false, exceptionMessage: e.Message,
                                               customMessage: "Unable to Delete Employee Model. Could not open database connection.",
                                               helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace);

                    throw new DataAccessException(e.Message, e.InnerException, dataAccessStatus);
                }

                string deleteQuery = "DELETE FROM Employees WHERE ID = @ID";

                using (SqlCommand cmd = new SqlCommand(deleteQuery, sqlConnection))
                {
                    try
                    {
                        RecordExistsCheck(cmd, employeeModel, TypeOfExistenceCheck.DoesExistInDB, RequestType.Delete);
                    }
                    catch (DataAccessException e)
                    {
                        e.DataAccessStatusInfo.CustomMessage    = "Employee model could not be deleted because it could not be found in the database";
                        e.DataAccessStatusInfo.ExceptionMessage = string.Copy(e.Message);
                        e.DataAccessStatusInfo.StackTrace       = string.Copy(e.StackTrace);

                        throw e;
                    }

                    cmd.CommandText = deleteQuery;

                    cmd.Prepare();
                    cmd.Parameters.AddWithValue("@ID", employeeModel.ID);

                    try
                    {
                        cmd.ExecuteNonQuery();
                    }
                    catch (SqlException e)
                    {
                        dataAccessStatus.setValues(status: "Error", operationSucceeded: false, exceptionMessage: e.Message,
                                                   customMessage: "Unable to Delete Employee Model.",
                                                   helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace);

                        throw new DataAccessException(e.Message, e.InnerException, dataAccessStatus);
                    }

                    //Confirm that the employee model has been deleted

                    try
                    {
                        RecordExistsCheck(cmd, employeeModel, TypeOfExistenceCheck.DoesNotExistInDB, RequestType.ConfirmDelete);
                    }
                    catch (DataAccessException e)
                    {
                        e.DataAccessStatusInfo.Status             = "Error";
                        e.DataAccessStatusInfo.OperationSucceeded = false;
                        e.DataAccessStatusInfo.CustomMessage      = "Failed to delete employee model in database";
                        e.DataAccessStatusInfo.ExceptionMessage   = string.Copy(e.Message);
                        e.DataAccessStatusInfo.StackTrace         = string.Copy(e.StackTrace);

                        throw e;
                    }
                }
                sqlConnection.Close();
            }
        }