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 FCM0000.Item
{
    public partial class fItemAdd : FCOMMON.fBase
    {
        public int newIDX = -1;
        public fItemAdd()
        {
            InitializeComponent();

            foreach (Control ctl in this.Controls)
            {
                if (ctl.GetType() == typeof(TextBox) || ctl.GetType() == typeof(ComboBox))
                {
                    ctl.KeyDown += ctl_KeyDown;
                }
            }
        }

        void ctl_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Control ctl = sender as Control;
                string nm = ctl.Name.ToLower();
                string search = ctl.Text.Trim();
                SendKeys.Send("{TAB}");
            }
        }

        private void fItemAdd_Load(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized) this.WindowState = FormWindowState.Normal;
            if (this.RestoreBounds.X + this.RestoreBounds.Width < 300 && this.RestoreBounds.X < 0)
            {
                this.Location = new Point(0, 0);
            }
        }

        private void btOK_Click(object sender, EventArgs e)
        {
            if (tbName.Text.Trim() == "")
            {
                FCOMMON.Util.MsgE("품명은 필수 입니다");
                tbName.Focus();
                return;
            }
            if (tbModel.Text.Trim() == "")
            {
                FCOMMON.Util.MsgE("모델은 필수 입니다");
                tbModel.Focus();
                return;
            }
            var pumName = tbName.Text.Trim();
            var pumModel = tbModel.Text.Trim();
            var searchKey = pumName + pumModel;
            var cnt = (int)(ta.ExistCheck(FCOMMON.info.Login.gcode, searchKey));
            if (cnt > 0)
            {
                FCOMMON.Util.MsgE("동일 품명 모델의 정보가 존재 합니다");
                return;
            }
            if (tbSupplyIdx.Text == "") tbSupplyIdx.Text = "-1";
            var newdr = this.dsMSSQL.Items.NewItemsRow();
            newdr.gcode = FCOMMON.info.Login.gcode;
            newdr.wdate = DateTime.Now;
            newdr.wuid = FCOMMON.info.Login.no;
            newdr.name = tbName.Text.Trim();
            newdr.sid = tbSid.Text.Trim();
            newdr.model = tbModel.Text.Trim();
            newdr.manu = tbManu.Text.Trim();
            newdr.supply = tbSupply.Text.Trim();
            newdr.supplyidx = int.Parse(tbSupplyIdx.Text.Trim());
            newdr.memo = tbMemo.Text.Trim();
            newdr.cate = "--";


            //21711
            if (tbPriceD.Text.isEmpty() == false)
            {
                if (decimal.TryParse(tbPriceD.Text, out decimal priced))
                {
                    newdr.priceD = priced;
                    if(decimal.TryParse(tbPrice.Text,out decimal priceWon)==false)
                    {
                        var ConvertedPrice = (decimal)((double)priced * FCOMMON.info.dollertowon);
                        tbPrice.Text = ConvertedPrice.ToString();
                    }
                }
                else
                {
                    FCOMMON.Util.MsgE("입력값이 숫자가 아닙니다. 단가($)를 사용할 수 없습니다");
                }
            }


            int price;
            int.TryParse(tbPrice.Text, out price);
            newdr.price = price;

            newdr.scale = 1;
            newdr.unit = tbUnit.Text.Trim();
            if (newdr.unit == "") newdr.unit = "EA";
            newdr.disable = false;
            newdr.import = "";
            this.dsMSSQL.Items.AddItemsRow(newdr);
            try
            {
                var cnt2 = ta.Update(dsMSSQL.Items);
                if (cnt2 == 0)
                {
                    FCOMMON.Util.MsgE("추가 실패");
                }
                else
                {
                    newIDX = (int)(ta.ReadIDX(FCOMMON.info.Login.gcode, pumName, pumModel));
                    DialogResult = System.Windows.Forms.DialogResult.OK;
                }
            }
            catch (Exception eX)
            {
                FCOMMON.Util.MsgE(eX.Message);
                newIDX = -1;
            }
        }
    }
}
