블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
반응형

Category

Recent Post

Recent Comment

Archive

2009. 9. 14. 21:58 .Net Project/C# Project
반응형

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 급여처리프로그램
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        List<Money> money = new List<Money>(); // DB
        private bool IsOnlyNum(int 사번) {
            bool result = false;
            for (int i = 0; i < money.Count; i++) {
                if (money[i].사번 == 사번) {
                    result = true;
                }
            }
            return result;
        }

        private void btn입력_Click(object sender, EventArgs e) {
            Money m = new Money();
            if (!Char.IsDigit(txt사번.Text, 0))
            {
                MessageBox.Show("사번은 정수라니까???"); return;
            }
            // 중복 제거
            if ( ! IsOnlyNum(Convert.ToInt32(txt사번.Text))) {
                m.사번 = Convert.ToInt32(txt사번.Text); 
            }
            else {
                MessageBox.Show("이미 있는 사원입니다.");
                txt사번.Focus(); txt사번.Select();
                return;
            }

            m.급 = Convert.ToInt32(cbo급.Items[
                cbo급.SelectedIndex].ToString().Substring(0, 1));
            m.호 = Convert.ToInt32(com호.Items[
                com호.SelectedIndex].ToString().Substring(0, 1));
            m.수당 = Convert.ToInt32(txt수당.Text);

            money.Add(m); // 하나씩 추가

            ClearText();
            this.txt사번.Focus();
        }

        private void ClearText()
        {
            txt사번.Text = txt수당.Text = "";
            cbo급.SelectedIndex = 0;
            com호.SelectedIndex = 0;
        }

        private void cmd출력_Click(object sender, EventArgs e)
        {
            // Process
            ProcessData();

            // Sort
            IEnumerable<Money> q = (from m in money
                                   orderby m.사번
                                   select m).ToList();

            // 입력 데이터 출력
            this.dgvPrint.DataSource = q;
        }

        private void ProcessData()
        {
            for (int i = 0; i < money.Count; i++)
            {
                // 지급액 : 급 호봉 계산표
                money[i].지급액 =
                    Calc지급액(money[i].급, money[i].호) + money[i].수당;
               
                // 세금
                money[i].세금 = Calc세금(money[i].지급액); 
                
                // 차인지급액

                money[i].차인지급액 = money[i].지급액 - money[i].세금;
            }
        }

        private int Calc세금(int 지급액)
        {
            int tax = 0;

            if (지급액 < 70000)
            {
                tax = (지급액 * 0) - 0;
            }
            else if (지급액 < 80000)
            {
                tax = Convert.ToInt32(지급액 * 0.005) - 300;
            }
            else if (지급액 < 90000)
            {
                tax = Convert.ToInt32(지급액 * 0.007) - 500;
            }
            else
            {
                tax = Convert.ToInt32(지급액 * 0.012) - 1000;
            }

            return tax;
        }
        private int Calc지급액(int 급, int 호)
        {
            int result = 0;
            if (급 == 1)
            {
                switch (호)
                {
                    case 1: result = 95000; break;
                    case 2: result = 92000; break;
                    case 3: result = 89000; break;
                    case 4: result = 86000; break;
                    case 5: result = 83000; break;
                    default:
                        break;
                }
            }
            else
            {
                switch (호)
                {
                    case 1: result = 80000; break;
                    case 2: result = 75000; break;
                    case 3: result = 70000; break;
                    case 4: result = 65000; break;
                    case 5: result = 60000; break;
                    default:
                        break;
                }
            }
            return result;
        }
    }
}







 

반응형

'.Net Project > C# Project' 카테고리의 다른 글

C# 프로그램 모음  (1) 2009.09.14
04장 주소록  (0) 2009.09.14
03장 My ExPlorer 만들기  (0) 2009.09.14
02장 계산기 만들기  (0) 2009.09.14
01장 메모장 만들어 보기  (0) 2009.09.14
posted by Magic_kit