Пример #1
0
        public SalaryModel Get(string id)
        {
            SalaryModel e         = null;
            string      getAllEmp = "select * from salary where Fk_EmployeeId=@id";

            SqlDataAccess d = new SqlDataAccess(con.GetConnectionForSql());

            d.Connection.Open();
            var cmd = d.Command(getAllEmp);

            AddObjectParameter(d, cmd, "Id", Convert.ToInt32(id));
            IDataReader d1 = d.ReadData(cmd);

            {
                if (d1.Read())
                {
                    e = new SalaryModel();
                    var empid = d1["Fk_EmployeeId"];
                    e.EmployeeId = Convert.ToInt32(empid);
                    var salary = d1["salary_amount_paid"];
                    e.SalaryPaidAmount = Convert.ToDouble(salary);
                }

                //  e.EmployeeId = ;
            }
            return(e);

            d.Connection.Close();
        }
Пример #2
0
        // 以員工ID搜尋支付資料
        public SalaryPresentationModel SearchDataByEmplID()
        {
            SalaryPresentationModel salaryPresentationModel = new SalaryPresentationModel();

            if (this._salaryModel.getEmplID() == null || this._salaryModel.getEmplID() == "")
            {
                MessageBox.Show("請輸入員工ID");
            }
            else
            {
                //MessageBox.Show("yes");
                _salaryService = new SalaryService(this._salaryModel);
                _salaryModel   = _salaryService.searchByEmplID();

                salaryPresentationModel.setEmplID(_salaryModel.getEmplID());
                salaryPresentationModel.setPayway(_salaryModel.getPayway());
                salaryPresentationModel.setAccountData(_salaryModel.getAccountData());

                if (_salaryModel.getPayway() == null || _salaryModel.getPayway() == "")
                {
                    MessageBox.Show("此員工ID不存在!");
                    //MessageBox.Show(_authoModel.GetAuthoID());
                    salaryPresentationModel.setEmplID(null);
                }
            }
            return(salaryPresentationModel);
        }
Пример #3
0
        public List <SalaryModel> GetAll()
        {
            List <SalaryModel> lst       = new List <SalaryModel>();
            string             getAllEmp = "select * from salary";

            SqlDataAccess d = new SqlDataAccess(con.GetConnectionForSql());

            d.Connection.Open();
            var     cmd = d.Command(getAllEmp);
            DataSet ds  = d.ExecuteDataSetForSqlQueryNew(cmd);

            var table = ds.Tables[0];

            for (int i = 0; i < table.Rows.Count; i++)
            {
                var         id = table.Rows[i]["Fk_EmployeeId"];
                SalaryModel e  = new SalaryModel();
                e.EmployeeId = Convert.ToInt32(id);
                var amount = table.Rows[i]["salary_amount_paid"];
                e.SalaryPaidAmount = Convert.ToDouble(amount);
                lst.Add(e);

                Console.WriteLine(id);
                Console.WriteLine(amount);
            }
            //    return lst;
            return(lst);
        }
 public SalaryModel(SalaryModel model)
 {
     this.Minimum      = model.Minimum;
     this.Maximum      = model.Maximum;
     this.CurrencyCode = model.CurrencyCode;
     this.Display      = model.Display;
 }
Пример #5
0
        public IActionResult PutSalary(
            int empNo,
            DateTime fromDate,
            [FromBody] SalaryModel salaryModel
            )
        {
            try
            {
                Salary salaryToUpdate = new Salary
                {
                    EmployeeNumber = empNo,
                    EmployeeSalary = salaryModel.EmployeeSalary,
                    FromDate       = fromDate,
                    ToDate         = salaryModel.ToDate
                };

                _salaryService.UpdateSalary(salaryToUpdate);

                SalaryModel updatedSalary = new SalaryModel
                {
                    EmployeeNumber = salaryToUpdate.EmployeeNumber,
                    EmployeeSalary = salaryToUpdate.EmployeeSalary,
                    FromDate       = salaryToUpdate.FromDate,
                    ToDate         = salaryToUpdate.ToDate
                };

                return(Ok(updatedSalary));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500)));
            }
        }
Пример #6
0
        public void TestSalary()
        {
            SalaryOperations s1 = new SalaryOperations();
            SalaryModel      m1 = new SalaryModel();

            m1.EmployeeId       = 2;
            m1.SalaryPaidAmount = 234567;

            var addRec = s1.AddSalary(m1);

            Assert.AreEqual(addRec, m1.SalaryPaidAmount);
            var salrec = s1.Get(addRec.ToString());

            Assert.AreEqual(salrec, m1.EmployeeId);

            s1.Edit(m1); //check raju edit and delete wit no return type

            var get = s1.Get(m1.EmployeeId.ToString());

            Assert.AreEqual(m1.SalaryPaidAmount, get.SalaryPaidAmount);
            //chck count



            var addSal = s1.AddSalary(m1);

            Assert.AreEqual(addSal, m1.SalaryPaidAmount);
            // var salRec = s1.Get()
            //  Assert.IsNotNull(empRecAdd);
        }
Пример #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="idSalary"></param>
 /// <param name="salaryAmount"></param>
 /// <param name="registrationDate"></param>
 /// <returns></returns>
 public static bool UpdateSalaryById(string idSalary, string salaryAmount)
 {
     try
     {
         string[] salary = new string[] { idSalary, salaryAmount };
         if (ValidateData.VerifyFields(salary))
         {
             SalaryModel salaryModel = new SalaryModel()
             {
                 IdSalary     = int.Parse(idSalary),
                 SalaryAmount = decimal.Parse(salaryAmount)
             };
             return(DBSalary.UpdateSalary(salaryModel));
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         //Log4Net
         return(false);
     }
 }
Пример #8
0
        public IActionResult GetOneSalary(int empNo, DateTime fromDate)
        {
            try
            {
                Salary s = _salaryService.GetOneSalary(empNo, fromDate);

                if (s == null)
                {
                    return(NoContent());
                }

                SalaryModel resultSalary = new SalaryModel
                {
                    Employee       = s.Employee,
                    EmployeeNumber = s.EmployeeNumber,
                    EmployeeSalary = s.EmployeeSalary,
                    FromDate       = s.FromDate,
                    ToDate         = s.ToDate
                };

                return(Ok(resultSalary));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500)));
            }
        }
Пример #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="registrationDate"></param>
 /// <returns></returns>
 public static SalaryModel SelectSalaryByRegistrationDate(string registrationDate)
 {
     try
     {
         string[] salary = new string[] { registrationDate };
         if (ValidateData.VerifyFields(salary))
         {
             SalaryModel salaryModel = new SalaryModel()
             {
                 RegistrationDate = registrationDate
             };
             //return SalaryConnection.SelectSalaryByDate(salaryModel);
             return(null);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         //Log4Net
         return(null);
     }
 }
Пример #10
0
        private SalaryModel ParseSalary(XElement element)
        {
            var salary = new SalaryModel();

            salary.SalaryPeriods = element.Element("SalaryPeriods").Elements("SalaryPeriod").Select(p => ParseSalaryPeriod(p)).ToList();
            return(salary);
        }
Пример #11
0
 /// <summary>
 /// Show a specific salary by idSalary
 /// </summary>
 /// <param name="Salary"></param>
 /// <returns>output</returns>
 public static List <SalaryModel> SelectidSalary(SalaryModel Salary)
 {
     using (IDbConnection cnn = new MySqlConnection(LoadConnectionString()))
     {
         var output = cnn.Query <SalaryModel>("SELECT * FROM salary WHERE idSalary = @idSalary", Salary);
         return(output.ToList());
     }
 }
Пример #12
0
        public decimal Calculate(SalaryModel model)
        {
            var salary = model.Rate * _hoursInDay * _daysInMonth;

            return(model.IncludeTax ?
                   salary :
                   TaxCalculator.GetSumIncludeTax(salary));
        }
Пример #13
0
 /// <summary>
 /// Show salaries from one date to the current
 /// </summary>
 /// <param name="Salary"></param>
 /// <returns>output</returns>
 public static List <SalaryModel> SelectByDate(SalaryModel Salary)
 {
     using (IDbConnection cnn = new MySqlConnection(LoadConnectionString()))
     {
         var output = cnn.Query <SalaryModel>(
             "SELECT * FROM salary WHERE CURDATE() >= @registrationDate", Salary);
         return(output.ToList());
     }
 }
Пример #14
0
 public ActionResult Select(SalaryModel model)
 {
     model.Salarys = null;
     foreach (var item in model.SalaryItems)
     {
         X.GetCmp <NumberField>("Salaryitem" + item.Id).SetValue(item.Value);
     }
     return(this.FormPanel(true));
 }
Пример #15
0
        public static IEnumerable <SalaryModel> GetSalary(ITermsManager termsManager, IEmployeeRateRspManager employeeRateRspManager,
                                                          IEmployeesManager employeeManager, DateTime fromDate, DateTime toDate)
        {
            var result = new List <SalaryModel>();

            var rates     = employeeRateRspManager.GetEntities(o => o.SalaryTypes == SalaryTypes.Monthly).ToList(); //TODO delete check ?
            var employees = employeeManager.GetEntities().ToList();

            foreach (var employee in employees)
            {
                double amount = 0;
                for (var date = fromDate; date < toDate; date = date.AddMonths(1))
                {
                    var rate = rates.Where(o => o.EmployeeId == employee.Id && o.FromDate <= date && date <= o.ToDate).FirstOrDefault();

                    if (rate != null)
                    {
                        amount += rate.Salary;
                    }
                }

                result.Add(new SalaryModel()
                {
                    Id           = employee.Id,
                    employeeName = employee.Name,
                    amountString = amount.ToString("N2") + " EUR",
                    amount       = amount,
                });
            }

            var workHours = WorkHoursHelper.GetWorkHours(termsManager, employeeRateRspManager, employeeManager, fromDate, toDate, null);

            foreach (var group in workHours.GroupBy(o => o.employeeId))
            {
                var model  = result.FirstOrDefault(o => o.Id == group.Key);
                var amount = group.Sum(o => o.amount);
                if (model == null)
                {
                    model = new SalaryModel()
                    {
                        Id           = group.Key,
                        employeeName = employees.FirstOrDefault(o => o.Id == group.Key).Name,
                        amountString = amount.ToString("N2") + " EUR",
                        amount       = amount,
                    };

                    result.Add(model);
                }
                else
                {
                    model.amount      += amount;
                    model.amountString = model.amount.ToString("N2") + " EUR";
                }
            }

            return(result);
        }
Пример #16
0
        public IActionResult GetSalariesByEmployeeNumber(
            [FromQuery] bool currentSalaries,
            [FromQuery] int page,
            [FromQuery] int pageSize,
            [FromQuery(Name = "sort")] string sort,
            [FromQuery(Name = "filter")] string filter,
            int empNo
            )
        {
            try
            {
                page     = (page <= 0) ? Constants.PageDefaultOffset : page;
                pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize;
                sort     = sort ?? Constants.PageDefaultSort;
                filter   = filter ?? Constants.SalaryModelDefaultFilter;

                List <SalaryModel> salaryModels = new List <SalaryModel>();

                _salaryService
                .GetSalariesByFiltersAndEmployeeNumber(empNo, page, pageSize, sort, filter)
                .ToList()
                .ForEach(foundSalary =>
                {
                    SalaryModel s = new SalaryModel
                    {
                        Employee       = foundSalary.Employee,
                        EmployeeNumber = foundSalary.EmployeeNumber,
                        EmployeeSalary = foundSalary.EmployeeSalary,
                        FromDate       = foundSalary.FromDate,
                        ToDate         = foundSalary.ToDate
                    };
                    if (currentSalaries)
                    {
                        if (foundSalary.ToDate.Equals(Constants.DatabaseDefaultDate))
                        {
                            salaryModels.Add(s);
                        }
                    }
                    else
                    {
                        salaryModels.Add(s);
                    }
                });

                if (salaryModels.Count <= 0)
                {
                    return(NoContent());
                }

                return(Ok(salaryModels));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500)));
            }
        }
Пример #17
0
        public ActionResult DeleteSalary(int id)
        {
            SalaryModel one = new SalaryModel()
            {
                SID = id
            };
            int pd = isy.SalaryDelete(one);

            return(Content(JsonConvert.SerializeObject(pd)));
        }
Пример #18
0
        public int SalaryAdd(SalaryModel sm)
        {
            Salary st = new Salary()
            {
                SID   = sm.SID,
                SName = sm.SName
            };

            return(Add(st));
        }
Пример #19
0
        public int SalaryUpdate(SalaryModel sm)
        {
            Salary st = new Salary()
            {
                SID   = sm.SID,
                SName = sm.SName
            };

            return(Update(st));
        }
        public void Calculate_RateGreaterZero_SalaryGreaterRate(bool includeTax)
        {
            var model = new SalaryModel
            {
                IncludeTax = includeTax,
                Rate       = _fixture.Create <decimal>()
            };
            var salary = _calculator.Calculate(model);

            salary.Should().BeGreaterThan(model.Rate);
        }
        public void Calculate_RateEqualZero_SalaryEqual(bool includeTax)
        {
            var model = new SalaryModel
            {
                IncludeTax = includeTax,
                Rate       = 0
            };

            var salary = _calculator.Calculate(model);

            salary.Should().Be(model.Rate);
        }
Пример #22
0
        public ActionResult Create([Bind(Include = "Id,WorkingHours,SalaryPerHour")] SalaryModel model)
        {
            if (ModelState.IsValid)
            {
                var salary = new Salary(model.Id, model.WorkingHours, model.SalaryPerHour);
                service.CreateSalary(salary);
                return(RedirectToAction("Index"));
            }

            ViewBag.Id = new SelectList(serviceEmployee.GetAllEmployees(), "Id", "FirstName", model.Id);
            return(View(model));
        }
Пример #23
0
        public ActionResult ComputePaye(SalaryModel data)
        {
            var inputs = data.salary;


            var taxing   = PayRepository.ComputePay(inputs);
            var takehome = inputs - taxing;

            ViewBag.balance = takehome;
            ViewBag.tax     = taxing;

            return(View());
        }
Пример #24
0
 public ActionResult InsertSalary(SalaryModel one)
 {
     if (isy.SalaryAdd(one) > 0)
     {
         Response.Write("<script>alert('添加成功')</script>");
         return(salary_item());
     }
     else
     {
         Response.Write("<script>alert('添加失败')</script>");
         return(View());
     }
 }
Пример #25
0
        public IActionResult SearchSalaries(
            [FromQuery(Name = "page")] int page,
            [FromQuery(Name = "pageSize")] int pageSize,
            [FromQuery(Name = "sort")] string sort,
            [FromQuery(Name = "filter")] string filter,
            [FromQuery(Name = "searchString")] string searchString
            )
        {
            try
            {
                page     = (page <= 0) ? Constants.PageDefaultOffset : page;
                pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize;
                sort     = sort ?? Constants.PageDefaultSort;
                filter   = filter ?? Constants.SalaryModelDefaultFilter;

                List <SalaryModel> salaryList = new List <SalaryModel>();

                _salaryService
                .GetSalaries()
                .Where(s =>
                       s.EmployeeNumber.ToString().Contains(searchString) ||
                       s.EmployeeSalary.ToString().Contains(searchString) ||
                       s.FromDate.Day.ToString().Contains(searchString) || s.FromDate.Month.ToString().Contains(searchString) || s.FromDate.Year.ToString().Contains(searchString) ||
                       s.ToDate.Day.ToString().Contains(searchString) || s.ToDate.Month.ToString().Contains(searchString) || s.ToDate.Year.ToString().Contains(searchString)
                       )
                .AsQueryable()
                .OrderByDynamic(filter, sort)
                .Skip(page * pageSize)
                .Take(pageSize)
                .ToList()
                .ForEach(s =>
                {
                    SalaryModel salary = new SalaryModel
                    {
                        Employee       = s.Employee,
                        EmployeeNumber = s.EmployeeNumber,
                        EmployeeSalary = s.EmployeeSalary,
                        FromDate       = s.FromDate,
                        ToDate         = s.ToDate
                    };
                    salaryList.Add(salary);
                });

                return(Ok(salaryList));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500)));
            }
        }
Пример #26
0
        public void UC3_CompareUpdatedSalary()
        {
            SalaryModel model = new SalaryModel()
            {
                salaryId     = 23,
                salaryAmount = 10021,
                month        = "october",
                employeeId   = 1
            };
            EmployeeRepo repo   = new EmployeeRepo();
            int          actual = repo.UpdateEmployee(model);

            Assert.AreEqual(model.salaryAmount, actual);
        }
        public void Calculate_WhenNotIncludeTax_ThenSalarySumShouldBeGreaterRate()
        {
            // Arrange
            var model = new SalaryModel
            {
                IncludeTax = false,
                Rate       = _fixture.Create <decimal>()
            };

            // Act
            var salarySum = _calculator.Calculate(model);

            // Assert
            salarySum.Should().BeGreaterThan(model.Rate);
        }
Пример #28
0
        public object ValidateSalaryData(SalaryModel salaryModel)
        {
            ResponseList = new List <object>();
            if (salaryModel.Salary <= 0)
            {
                Success = "Failed";
                ResponseList.Add(_salaryResponseMessages.InValidSalary());
            }

            if (Success != null)
            {
                return(this);
            }
            return(null);
        }
Пример #29
0
        public async Task <bool> AddEmployeeSalary(Guid businessID, SalaryModel salaryModel)
        {
            var businessId = new Npgsql.NpgsqlParameter("@thebusinessid", businessID);
            var employeeId = new Npgsql.NpgsqlParameter("@theempid", salaryModel.EmployeeID);
            var salary     = new Npgsql.NpgsqlParameter("@thesalary", salaryModel.Salary);

            CheckStatusModel checkStatusModel = await Task.Run(() => _projectContextDB.CheckStatusModel.FromSqlRaw("select * from addsalary(@thebusinessid,@theempid," +
                                                                                                                   "@thesalary)", businessId, employeeId, salary)
                                                               .Select(e => new CheckStatusModel()
            {
                Status = e.Status
            }).FirstOrDefault());

            return(checkStatusModel.Status);
        }
Пример #30
0
 /// <summary>
 /// Delete a salary from salary
 /// </summary>
 /// <param name="Salary"></param>
 public static bool DeleteSalary(SalaryModel Salary)
 {
     try
     {
         using (IDbConnection cnn = new MySqlConnection(LoadConnectionString()))
         {
             cnn.Execute("DELETE FROM salary WHERE idSalary = @idSalary", Salary);
         }
         return(true);
     }
     catch (Exception ex)
     {
         throw;
     }
 }