Exemplo n.º 1
0
        public HttpResponseMessage Login(User user)
        {
            HttpResponseMessage response = null;

            try
            {
                user.password = EncryptPassword.CalculateHash(user.password);
                Dictionary <string, object> resultSet = new Dictionary <string, object>();
                if (!CommonRepo.Login(user))
                {
                    response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_301", "Invalid Username or Password", "Invalid Username or Password"));
                }
                else
                {
                    int           user_id  = CommonRepo.GetUserID(user);
                    Role          role     = CommonRepo.GetUserRole(user_id);
                    EmployeeModel employee = EmployeeRepo.GetEmployeeDetailsByUserId(user_id);
                    resultSet.Add("employee_id", employee.id);
                    resultSet.Add("user_id", user_id);
                    resultSet.Add("UserName", employee.first_name + employee.last_name);
                    resultSet.Add("role_name", role.role_name);
                    resultSet.Add("role_id", role.id);
                    resultSet.Add("gender", employee.gender);
                    response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "Success", resultSet));
                }
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception.Message);
                Debug.WriteLine(exception.GetBaseException());
                response = Request.CreateResponse(HttpStatusCode.OK, exception.Message);
            }
            return(response);
        }
Exemplo n.º 2
0
        public HttpResponseMessage ChangePassword(ChangePasswordModel changepassword)
        {
            HttpResponseMessage response = null;

            try
            {
                Employee employee      = EmployeeRepo.GetEmployeeById(changepassword.employee_id);
                User     user_instance = LeaveRepo.GetUserById(employee.user_id);
                if (user_instance.is_active == 1)
                {
                    if (changepassword.new_password == changepassword.confirm_password)
                    {
                        if (changepassword.oldpassword == changepassword.new_password)
                        {
                            response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_515", "Current Password and New password should be different", "Current Password and New password should be different"));
                        }
                        else if (EncryptPassword.CalculateHash(changepassword.oldpassword) == user_instance.password)
                        {
                            user_instance.password = EncryptPassword.CalculateHash(changepassword.new_password);
                            LeaveRepo.EditUserPassword(user_instance);
                            string user_name = employee.first_name + " " + employee.last_name;
                            MailHandler.ChangePasswordIntimation(user_name, employee.email);
                            response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "Password changed sucessfully", "Password changed sucessfully"));
                        }
                        else
                        {
                            response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_514", "Invalid Current Password", "Invalid Current Password"));
                        }
                    }
                    else
                    {
                        response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_302", "New Password and Confirm Password should be same", "New Password and Confirm Password should be same"));
                    }
                }
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_303", "Access Denied", "Access Denied"));
                }
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception.Message);
                Debug.WriteLine(exception.GetBaseException());
                response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_101", "Application Error", exception.Message));
            }
            return(response);
        }
Exemplo n.º 3
0
        public HttpResponseMessage ForgotPassword(ChangePasswordModel forgotpassword)
        {
            HttpResponseMessage response = null;

            try
            {
                Employee employee = EmployeeRepo.GetEmployeeById(forgotpassword.employee_id);
                User     user     = CommonRepo.GetuserById(employee.user_id);
                if (user.is_active == 1)
                {
                    if (forgotpassword.new_password == forgotpassword.confirm_password)
                    {
                        user.password = EncryptPassword.CalculateHash(forgotpassword.new_password);
                        CommonRepo.EditUserDetails(user);
                        string user_name = employee.first_name + " " + employee.last_name;
                        MailHandler.ChangePasswordIntimation(user_name, employee.email);
                        response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "your password has been changed successfully", "your password has been changed successfully"));
                    }
                    else
                    {
                        response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_302", "New Password and Confirm Password should be same", "New Password and Confirm Password should be same"));
                    }
                }
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_303", "Access Denied", "Access Denied"));
                }
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception.Message);
                Debug.WriteLine(exception.GetBaseException());
                response = Request.CreateResponse(HttpStatusCode.OK, exception.Message);
            }
            return(response);
        }
Exemplo n.º 4
0
        public HttpResponseMessage CreateNewEmployee(EmployeeModel employee_details)
        {
            HttpResponseMessage Response = null;

            try
            {
                if (employee_details != null && employee_details.role_id != 0 /*&& employee_details.ctc != 0*/ && employee_details.id != 0 && employee_details.reporting_to != 0 && employee_details.designation_id != 0)
                {
                    Employee        existingInstance = EmployeeRepo.GetEmployeeById(employee_details.id);
                    List <Employee> employeeByMailid = EmployeeRepo.GetEmployeeByMailId(employee_details.email);
                    if (existingInstance != null)
                    {
                        Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_402", "Employee ID already exists", "Employee ID already exists"));
                        return(Response);
                    }
                    if (employeeByMailid.Count != 0)
                    {
                        Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_402", "Mail ID already exists", "Mail ID already exists"));
                        return(Response);
                    }

                    Employee employee = new Employee();
                    employee.id                       = employee_details.id;
                    employee.first_name               = employee_details.first_name;
                    employee.last_name                = employee_details.last_name;
                    employee.email                    = employee_details.email;
                    employee.date_of_birth            = employee_details.date_of_birth;
                    employee.date_of_joining          = employee_details.date_of_joining;
                    employee.contact_no               = employee_details.contact_no;
                    employee.reporting_to             = employee_details.reporting_to;
                    employee.year_of_experience       = Decimal.Parse(employee_details.Year_of_experience);
                    employee.gender                   = employee_details.gender;
                    employee.pan_no                   = employee_details.pan_no;
                    employee.bank_account_no          = employee_details.bank_account_no;
                    employee.emergency_contact_no     = employee_details.emergency_contact_no;
                    employee.emergency_contact_person = employee_details.emergency_contact_person;
                    employee.PF_no                    = employee_details.PF_no;
                    employee.medical_insurance_no     = employee_details.medical_insurance_no;
                    employee.blood_group              = employee_details.blood_group;
                    employee.designation              = employee_details.designation_id;
                    employee.created_on               = DateTime.Now;

                    bool isEmail = Regex.IsMatch(employee.email,
                                                 @"^([0-9a-zA-Z]" +            //Start with a digit or alphabetical
                                                 @"([\+\-_\.][0-9a-zA-Z]+)*" + // No continuous or ending +-_. chars in email
                                                 @")+" +
                                                 @"@(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]*\.)+[a-zA-Z0-9]{2,17})$"
                                                 , RegexOptions.IgnoreCase);
                    if (isEmail != true)
                    {
                        Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_402", "Enter valid MailId", "Enter valid MailId"));
                    }
                    else if ((employee.date_of_birth.Year > (DateTime.Now.Year - 21)))
                    {
                        Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_402", "Employee age is below 21 years", "Employee age is below 21 years"));
                    }
                    else
                    {
                        User user = new User();
                        user.user_name = employee.email;
                        string Temp_password = PasswordGenerator.GeneratePassword();
                        //Debug.WriteLine(Temp_password);
                        user.password = EncryptPassword.CalculateHash(Temp_password);
                        //Debug.WriteLine(user.password);
                        user.is_active = 1;
                        EmployeeRepo.CreateNewUser(user);
                        employee.user_id = user.id;
                        EmployeeRepo.CreateNewEmployee(employee);
                        User_role user_role = new User_role();
                        user_role.user_id = user.id;
                        user_role.role_id = employee_details.role_id;
                        EmployeeRepo.AssignEmployeeRole(user_role);
                        if (employee.gender.ToLower() == "male")
                        {
                            EmployeeRepo.InsertLeaveBalance(employee, Constants.MALE_LEAVE_TYPES);
                        }
                        else
                        {
                            EmployeeRepo.InsertLeaveBalance(employee, Constants.FEMALE_LEAVE_TYPES);
                        }

                        Salary_Structure salary = new Salary_Structure();
                        salary           = SalaryCalculation.CalculateSalaryStructure(employee_details.ctc);
                        salary.emp_id    = employee_details.id;
                        salary.is_active = 1;
                        salary.from_date = DateTime.Now;
                        salary.to_date   = null;
                        SalaryRepo.CreateSalaryStructure(salary);

                        Payslip payslip = new Payslip();
                        payslip = SalaryCalculation.FirstMonthSalary(employee_details.date_of_joining, salary);
                        if (payslip != null)
                        {
                            PayslipRepo.AddPayslip(payslip);
                        }
                        else
                        {
                            Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_401", "Error in salary structure generation or payslip generation", "Error in salary structure generation or payslip generation"));
                            return(Response);
                        }
                        string username = employee.first_name + " " + employee.last_name;
                        MailHandler.PasswordMailingFunction(username, employee.email, Temp_password);
                        Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_001", "Employee added Successfully", "Employee added Successfully"));
                    }
                }
                else
                {
                    Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_190", "Invalid Input - check the fileds", "Invalid Input - check the fileds"));
                }
            }
            catch (DbEntityValidationException DBexception)
            {
                Debug.WriteLine(DBexception.Message);
                Debug.WriteLine(DBexception.GetBaseException());
                Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_190", "Mandatory fields missing or Type mismatch", DBexception.Message));
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception.Message);
                Debug.WriteLine(exception.GetBaseException());
                Response = Request.CreateResponse(HttpStatusCode.OK, new EMSResponseMessage("EMS_101", "Application Error", exception.Message));
            }
            return(Response);
        }