예제 #1
0
        public Responser CreateTokenAuth(string userId = "")
        {
            try
            {
                bool isValid = false;

                if (!string.IsNullOrWhiteSpace(userId))
                {
                    //Generate a Token
                    AM_User userLogged  = new AM_User();
                    Guid    tokenLogged = Guid.NewGuid();
                    userLogged.Token  = tokenLogged.ToString();
                    userLogged.UserID = int.Parse(userId);

                    Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userLogged.UserID).ToList().FirstOrDefault();

                    if (empTab != null)
                    {
                        //Record Token in OAuth's Table
                        TokenAuth tokenRecords = new TokenAuth();
                        tokenRecords.Token         = tokenLogged;
                        tokenRecords.CreationDate  = DateTime.Now;
                        tokenRecords.TokenStatusID = PayRollDB.TokenStatus.Where(item => item.Name == "Active").ToList().FirstOrDefault().TokenStatusID;
                        PayRollDB.TokenAuth.Add(tokenRecords);
                        PayRollDB.SaveChanges();

                        //Set token to user
                        empTab.Token = tokenLogged;
                        PayRollDB.SaveChanges();

                        isValid         = true;
                        responser_.Data = tokenLogged.ToString();
                    }
                    else
                    {
                        isValid         = false;
                        responser_.Data = string.Empty;
                    }
                }
                else
                {
                    isValid         = false;
                    responser_.Data = string.Empty;
                }

                responser_.Status        = (isValid ? 1 : 0);
                responser_.StatusMessage = (isValid ? "Token Auth generated successfully" : "Error at generating Token Auth");
                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }
예제 #2
0
        /// <summary>
        /// Updates an employee within Employee PayRoll
        /// </summary>
        /// <param name="employee">Employee Model</param>
        /// <returns></returns>
        public Responser Put([FromBody] AM_Employee employee)
        {
            try
            {
                PayRollDB = new PayRollDB_();

                responser_ = this.ValidateAuthorization(employee.Token.ToString());

                if (responser_.Data.Get <bool>())
                {
                    Employees_Tab employees = PayRollDB.Employees_Tab.Where(bt => bt.EmployeeID == employee.EmployeeID).FirstOrDefault();

                    if (employees != null)
                    {
                        employees.Name          = employee.Name;
                        employees.LastNames     = employee.LastNames;
                        employees.Email         = employee.Email;
                        employees.Password      = employee.Password;
                        employees.RoleID        = employee.RoleID;
                        employees.Active        = employee.Active;
                        employees.AdmissionDate = DateTime.Now;

                        PayRollDB.Employees_Tab.Add(employees);
                        PayRollDB.SaveChanges();

                        string lastInserted = PayRollDB.Employees_Tab.OrderByDescending(bt => bt.EmployeeID).Take(1).Select(bt => bt.EmployeeID).FirstOrDefault().ToString();

                        responser_.Data          = lastInserted;
                        responser_.StatusMessage = "Operation Put for Employee successfully.";
                    }
                }
                else
                {
                    responser_.Data          = employee.EmployeeID;
                    responser_.StatusMessage = "Employee ID not found: Operation Put for Employee successfully.";
                }

                responser_.Status = 0;

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Data          = null;
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();

                return(responser_);
            }
        }
예제 #3
0
        public Responser DisableTokenAuth(string userId = "")
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(userId))
                {
                    //Remove token from user
                    AM_User userToLogOff = new AM_User();
                    userToLogOff.UserID = int.Parse(userId);
                    Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userToLogOff.UserID).ToList().FirstOrDefault();
                    userToLogOff.Token = empTab.Token.ToString();
                    empTab.Token       = null;

                    PayRollDB.SaveChanges();

                    //Disable Token in OAuth's Table
                    List <TokenAuth> tokenRecords = PayRollDB.TokenAuth.Where(item => item.Token.ToString().Trim() == userToLogOff.Token.Trim()).ToList();

                    if (tokenRecords.Count() > 0)
                    {
                        foreach (TokenAuth item_ in tokenRecords)
                        {
                            item_.TokenStatusID = PayRollDB.TokenStatus.Where(item => item.Name == "Inactive").ToList().FirstOrDefault().TokenStatusID;
                        }

                        PayRollDB.SaveChanges();
                    }

                    responser_.Status        = 0;
                    responser_.StatusMessage = "Token Auth disabled successfully";
                }
                else
                {
                    responser_.Status        = 0;
                    responser_.StatusMessage = "There was not any Token Auth to disable";
                }

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }
예제 #4
0
        // POST: api/Login
        public void Post
        (
            string Name
            , string LastNames
            , string Email
            , string Password
            , string RoleID
            , bool Active
            , float BaseSalary
            , float BreakfastDeduction
            , float SavingDeduction
        )
        {
            try
            {
                Employees_Tab employees = new Employees_Tab();

                employees.Name          = Name;
                employees.LastNames     = LastNames;
                employees.Email         = Email;
                employees.Password      = Password;
                employees.RoleID        = (int?)int.Parse(RoleID);
                employees.Active        = Active;
                employees.AdmissionDate = DateTime.Now;

                PayRollDB.Employees_Tab.Add(employees);
                PayRollDB.SaveChanges();

                string lastInserted = PayRollDB.Employees_Tab.OrderByDescending(bt => bt.EmployeeID).Take(1).Select(bt => bt.EmployeeID).FirstOrDefault().ToString();

                PayRollInfo_Tab payRollInfo = new PayRollInfo_Tab();
                payRollInfo.EmployeeID         = int.Parse(lastInserted);
                payRollInfo.BaseSalary         = decimal.Parse(BaseSalary.ToString());
                payRollInfo.BreakfastDeduction = decimal.Parse(BreakfastDeduction.ToString());
                payRollInfo.SavingDeduction    = decimal.Parse(SavingDeduction.ToString());
                payRollInfo.CreationDate       = DateTime.Now;
                payRollInfo.Active             = Active;

                PayRollDB.PayRollInfo_Tab.Add(payRollInfo);
                PayRollDB.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #5
0
        // DELETE: api/Login/5
        public void Delete(int id)
        {
            try
            {
                PayRollInfo_Tab payRollInfo = PayRollDB.PayRollInfo_Tab.Where(bt => bt.EmployeeID == id).FirstOrDefault();
                PayRollDB.PayRollInfo_Tab.Remove(payRollInfo);
                PayRollDB.SaveChanges();

                Employees_Tab employees = PayRollDB.Employees_Tab.Where(bt => bt.EmployeeID == id).FirstOrDefault();
                PayRollDB.Employees_Tab.Remove(employees);
                PayRollDB.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #6
0
        /// <summary>
        /// Deletes an employee within Employee PayRoll
        /// </summary>
        /// <param name="employee">Employee Model</param>
        /// <returns></returns>
        public Responser Delete([FromBody] AM_Employee employee)
        {
            try
            {
                PayRollDB = new PayRollDB_();

                responser_ = this.ValidateAuthorization(employee.Token.ToString());

                if (responser_.Data.Get <bool>())
                {
                    Employees_Tab employees = PayRollDB.Employees_Tab.Where(bt => bt.EmployeeID == employee.EmployeeID).FirstOrDefault();

                    if (employees != null)
                    {
                        PayRollDB.Employees_Tab.Remove(employees);
                        PayRollDB.SaveChanges();

                        responser_.Data          = employee.EmployeeID;
                        responser_.StatusMessage = "Operation Delete for Employee successfully.";
                    }
                }
                else
                {
                    responser_.Data          = employee.EmployeeID;
                    responser_.StatusMessage = "Employee ID not found: Operation Delete for Employee successfully.";
                }

                responser_.Status = 0;

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Data          = null;
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();

                return(responser_);
            }
        }
예제 #7
0
        // PUT: api/Login
        public void Put
        (
            int EmployeeID
            , string Name
            , string LastNames
            , string Email
            , string Password
            , string RoleID
            , bool Active
            , float BaseSalary
            , float BreakfastDeduction
            , float SavingDeduction
        )
        {
            try
            {
                Employees_Tab employees = PayRollDB.Employees_Tab.Where(bt => bt.EmployeeID == EmployeeID).FirstOrDefault();

                employees.Name      = Name;
                employees.LastNames = LastNames;
                employees.Email     = Email;
                employees.Password  = Password;
                employees.RoleID    = (int?)int.Parse(RoleID);
                employees.Active    = Active;

                PayRollDB.SaveChanges();

                PayRollInfo_Tab payRollInfo = PayRollDB.PayRollInfo_Tab.Where(bt => bt.EmployeeID == EmployeeID).FirstOrDefault();
                payRollInfo.BaseSalary         = decimal.Parse(BaseSalary.ToString());
                payRollInfo.BreakfastDeduction = decimal.Parse(BreakfastDeduction.ToString());
                payRollInfo.SavingDeduction    = decimal.Parse(SavingDeduction.ToString());

                PayRollDB.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #8
0
        public Responser Login([FromBody] LoginEntity loginEntity_)
        {
            try
            {
                List <MEmployees> employees = PayRollDB.Employees_Tab.ToList().MapTo <Employees_Tab, MEmployees>();

                employees = employees.Where(item => item.Email == loginEntity_.UserName && item.Password == loginEntity_.Password && item.Active == true).ToList();

                if (employees.Count > 0)
                {
                    //Get logged user
                    MUser userLogged = new MUser();

                    MEmployees employee = employees.FirstOrDefault();
                    userLogged.UserID   = employee.EmployeeID;
                    userLogged.Name     = string.Format("{0} {1}", employee.Name, employee.LastNames);
                    userLogged.UserName = employee.Email;
                    userLogged.Password = employee.Password;
                    userLogged.RoleName = employee.RoleName;

                    responser_.Status        = 0;
                    responser_.StatusMessage = "Login Successfully";
                    responser_.Data          = userLogged;

                    //Generate a Token
                    Guid tokenLogged = Guid.NewGuid();
                    userLogged.Token = tokenLogged.ToString();

                    Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userLogged.UserID).ToList().FirstOrDefault();

                    if (empTab != null)
                    {
                        //Record Token in OAuth's Table
                        TokenAuth tokenRecords = new TokenAuth();
                        tokenRecords.Token         = tokenLogged;
                        tokenRecords.CreationDate  = DateTime.Now;
                        tokenRecords.TokenStatusID = PayRollDB.TokenStatus.Where(item => item.Name == "Active").ToList().FirstOrDefault().TokenStatusID;
                        PayRollDB.TokenAuth.Add(tokenRecords);
                        PayRollDB.SaveChanges();

                        //Set token to user
                        empTab.Token = tokenLogged;
                        PayRollDB.SaveChanges();
                    }
                }
                else
                {
                    responser_.Status        = -2;
                    responser_.StatusMessage = "Login failed: User or password is incorrect.";
                    responser_.Data          = null;
                }

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }
예제 #9
0
        public Responser LogOff(string id = "")
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(id))
                {
                    List <MEmployees> employees = PayRollDB.Employees_Tab.ToList().MapTo <Employees_Tab, MEmployees>();

                    employees = employees.Where(item => item.EmployeeID == int.Parse(id)).ToList();

                    if (employees.Count > 0)
                    {
                        //Get logged user
                        MUser userToLogOff = new MUser();

                        MEmployees employee = employees.FirstOrDefault();
                        userToLogOff.UserID = employee.EmployeeID;
                        userToLogOff.Token  = employee.Token.ToString();

                        //Disable Token
                        Employees_Tab empTab = PayRollDB.Employees_Tab.Where(item => item.EmployeeID == userToLogOff.UserID).ToList().FirstOrDefault();

                        if (empTab != null)
                        {
                            //Remove token from user
                            empTab.Token = null;
                            PayRollDB.SaveChanges();

                            //Disable Token in OAuth's Table
                            List <TokenAuth> tokenRecords = PayRollDB.TokenAuth.Where(item => item.Token.ToString().Trim() == userToLogOff.Token.Trim()).ToList();

                            if (tokenRecords.Count > 0)
                            {
                                foreach (TokenAuth item_ in tokenRecords)
                                {
                                    item_.TokenStatusID = PayRollDB.TokenStatus.Where(item => item.Name == "Inactive").ToList().FirstOrDefault().TokenStatusID;
                                }

                                PayRollDB.SaveChanges();
                            }
                        }

                        responser_.Status        = 0;
                        responser_.StatusMessage = "LogOff Successfully";
                        responser_.Data          = userToLogOff;
                    }
                    else
                    {
                        responser_.Status        = -2;
                        responser_.StatusMessage = "LogOff failed";
                        responser_.Data          = null;
                    }
                }

                return(responser_);
            }
            catch (Exception e)
            {
                responser_.Status        = -1;
                responser_.StatusMessage = e.Message.ToString();
                responser_.Data          = null;

                return(responser_);
            }
        }