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); }
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); }
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); }
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); }