Exemplo n.º 1
0
        private void 新增修改()
        {
            StringBuilder sbError = new StringBuilder();

            using (var conn = new GGFEntitiesMGT())
            {
                using (var transaction = conn.Database.BeginTransaction())
                {
                    try
                    {
                        int     iuid = 0, iid = 0;
                        decimal d重量 = 0;
                        decimal.TryParse(重量TB.Text, out d重量);
                        int.TryParse(uidHF.Value, out iuid);
                        int.TryParse(idHF.Value, out iid);

                        var 工號資料 = db.bas_employee.Where(p => p.site == "GGF" && p.employee_no == 寄件人工號TB.Text).FirstOrDefault();
                        if (iid == 0)
                        {
                            sbError.Append("Please search again");
                        }
                        if (工號資料 == null)
                        {
                            sbErrorstring(sbError, "No ID");
                        }
                        else
                        {
                            if (工號資料.employee_status == "IA")
                            {
                                sbErrorstring(sbError, "Invalid ID");
                            }
                        }

                        if (d重量 == 0)
                        {
                            sbErrorstring(sbError, "No weight");
                        }
                        if (快遞廠商LB.Text.ToUpper() == "DHL" || 快遞廠商LB.Text.ToUpper() == "FEDEX")
                        {
                            sbErrorstring(sbError, (string.IsNullOrEmpty(數量TB.Text) || string.IsNullOrEmpty(單位DDL.SelectedValue))? 快遞廠商LB.Text + "快遞單需" : "");
                            if (string.IsNullOrEmpty(數量TB.Text))
                            {
                                sbErrorstring(sbError, "No Qty");
                            }
                            if (string.IsNullOrEmpty(單位DDL.SelectedValue))
                            {
                                sbErrorstring(sbError, "No unit");
                            }
                            if (!string.IsNullOrEmpty(客戶名稱TB.Text))
                            {
                                if (!F_確認客戶代號())
                                {
                                    sbErrorstring(sbError, "Please enter the correct customer code");
                                }
                            }
                        }



                        if (string.IsNullOrEmpty(收件人TB.Text.Trim()))
                        {
                            sbErrorstring(sbError, "No ID");
                        }
                        if (string.IsNullOrEmpty(客戶名稱TB.Text.Trim()))
                        {
                            sbErrorstring(sbError, "No receive company");
                        }
                        if (string.IsNullOrEmpty(責任歸屬TB.Text))
                        {
                            sbErrorstring(sbError, "No responsibility:great giant payment key in GG");
                        }
                        if (string.IsNullOrEmpty(明細TB.Text))
                        {
                            sbErrorstring(sbError, "No detail");
                        }
                        if (string.IsNullOrEmpty(原因歸屬DDL.SelectedValue))
                        {
                            sbErrorstring(sbError, "No reason");
                        }
                        if (F_確認結案(iid))
                        {
                            sbErrorstring(sbError, "Express order closed,resend package tomorrow");
                        }
                        if (sbError.Length > 0)
                        {
                            EditMessageLB.Text = sbError.ToString();
                            EditListPanel_ModalPopupExtender.Show();
                        }
                        else
                        {
                            if (iuid == 0)
                            {
                                var 新增快遞單明細 = new 快遞單明細();
                                新增快遞單明細.id        = int.Parse(idHF.Value);
                                新增快遞單明細.付款方式      = (到付CB.Checked) ? "到付" : "";
                                新增快遞單明細.寄件人工號     = 寄件人工號TB.Text.Trim();
                                新增快遞單明細.寄件人       = 工號資料.employee_name;
                                新增快遞單明細.寄件人分機     = 分機TB.Text.Trim();
                                新增快遞單明細.客戶名稱      = 客戶名稱TB.Text.Trim();
                                新增快遞單明細.寄件人部門     = 工號資料.dept_no;
                                新增快遞單明細.收件人       = 收件人TB.Text.Trim();
                                新增快遞單明細.IsDeleted = false;
                                新增快遞單明細.重量        = d重量;
                                新增快遞單明細.責任歸屬      = 責任歸屬TB.Text.Trim();
                                新增快遞單明細.備註二       = 備註TB.Text.Trim();
                                新增快遞單明細.明細        = 明細TB.Text.Trim();
                                新增快遞單明細.email     = 工號資料.email_address;
                                新增快遞單明細.原因歸屬      = 原因歸屬DDL.SelectedValue;
                                if (快遞廠商LB.Text.ToUpper() == "DHL" || 快遞廠商LB.Text.ToUpper() == "FEDEX")
                                {
                                    if (!string.IsNullOrEmpty(款號TB.Text))
                                    {
                                        新增快遞單明細.備註 = 款號TB.Text.Trim().ToUpper();
                                    }
                                    新增快遞單明細.快遞數量 = int.Parse(數量TB.Text);
                                    新增快遞單明細.快遞單位 = 單位DDL.SelectedValue;
                                }
                                conn.快遞單明細.Add(新增快遞單明細);
                            }
                            else
                            {
                                var 新增快遞單明細 = conn.快遞單明細.Find(iuid);
                                //新增快遞單明細.id = int.Parse(idHF.Value);
                                新增快遞單明細.付款方式  = (到付CB.Checked) ? "到付" : "";
                                新增快遞單明細.寄件人工號 = 寄件人工號TB.Text.Trim();
                                新增快遞單明細.寄件人   = 工號資料.employee_name;
                                新增快遞單明細.寄件人分機 = 分機TB.Text.Trim();
                                新增快遞單明細.寄件人部門 = 工號資料.dept_no;
                                新增快遞單明細.收件人   = 收件人TB.Text.Trim();
                                新增快遞單明細.重量    = d重量;
                                新增快遞單明細.責任歸屬  = 責任歸屬TB.Text.Trim();
                                新增快遞單明細.備註二   = 備註TB.Text.Trim();
                                新增快遞單明細.明細    = 明細TB.Text.Trim();
                                新增快遞單明細.修改日期  = DateTime.Now;
                                新增快遞單明細.email = 工號資料.email_address;
                                新增快遞單明細.原因歸屬  = 原因歸屬DDL.SelectedValue;
                                if (快遞廠商LB.Text.ToUpper() == "DHL" || 快遞廠商LB.Text.ToUpper() == "FEDEX")
                                {
                                    if (!string.IsNullOrEmpty(款號TB.Text))
                                    {
                                        新增快遞單明細.備註 = 款號TB.Text.Trim().ToUpper();
                                    }
                                    新增快遞單明細.快遞數量 = int.Parse(數量TB.Text);
                                    新增快遞單明細.快遞單位 = 單位DDL.SelectedValue;
                                }
                            }
                            conn.SaveChanges();
                            transaction.Commit();
                            DbInit();
                            ClearEdit();
                        }
                    }
                    catch (Exception ex1)
                    {
                        try
                        {
                            Log.ErrorLog(ex1, "Delete Error :", "MGT001.aspx");
                        }
                        catch (Exception ex2)
                        {
                            Log.ErrorLog(ex2, "Delete Error Error:", "MGT001.aspx");
                        }
                        finally
                        {
                            transaction.Rollback();
                            //Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('刪除失敗請連絡MIS');</script>");
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void 新增修改()
        {
            StringBuilder sbError = new StringBuilder();

            using (var conn = new GGFEntitiesMGT())
            {
                using (var transaction = conn.Database.BeginTransaction())
                {
                    try
                    {
                        int     iuid = 0, iid = 0;
                        decimal d重量 = 0;
                        decimal.TryParse(重量TB.Text, out d重量);
                        int.TryParse(uidHF.Value, out iuid);
                        int.TryParse(idHF.Value, out iid);
                        string str快遞人 = "";
                        if (寄件人DDL.SelectedItem.Text == "河內快遞")
                        {
                            str快遞人 = "C180100";
                        }
                        else if (寄件人DDL.SelectedItem.Text == "寧平快遞")
                        {
                            str快遞人 = "B180100";
                        }
                        else
                        {
                            using (SqlConnection conn1 = new SqlConnection(strConnectEIPString))
                            {
                                SqlCommand command = new SqlCommand();
                                command.Connection  = conn1;
                                command.CommandText = @"SELECT  distinct top 1 dept_boss1
                                                FROM [dbo].[Dept] where Dept = @Dept";
                                command.CommandType = CommandType.Text;
                                command.Parameters.Add("@Dept", SqlDbType.NVarChar).Value = 寄件人DDL.SelectedItem.Text;
                                conn1.Open();
                                SqlDataReader reader = command.ExecuteReader();

                                if (reader.HasRows)
                                {
                                    if (reader.Read())
                                    {
                                        //DataReader讀出欄位內資料的方式,通常也可寫Reader[0]、[1]...[N]代表第一個欄位到N個欄位。
                                        str快遞人 = reader.GetString(0);
                                    }
                                }
                                reader.Close();
                            }
                        }
                        var 工號資料 = db.bas_employee.Where(p => p.site == "GGF" && p.employee_no == str快遞人).FirstOrDefault();
                        if (iid == 0)
                        {
                            sbError.Append("Please search again");
                        }
                        if (工號資料 == null)
                        {
                            sbErrorstring(sbError, "No ID");
                        }
                        else
                        {
                            if (工號資料.employee_status == "IA")
                            {
                                sbErrorstring(sbError, "Invalid ID");
                            }
                        }

                        //if (d重量 == 0)
                        //    sbErrorstring(sbError, "No weight");
                        if (快遞廠商LB.Text.ToUpper() == "DHL" || 快遞廠商LB.Text.ToUpper() == "FEDEX")
                        {
                            sbErrorstring(sbError, (string.IsNullOrEmpty(數量TB.Text) || string.IsNullOrEmpty(單位DDL.SelectedValue))? 快遞廠商LB.Text + "快遞單需" : "");
                            if (string.IsNullOrEmpty(數量TB.Text))
                            {
                                sbErrorstring(sbError, "No Qty");
                            }
                            if (string.IsNullOrEmpty(單位DDL.SelectedValue))
                            {
                                sbErrorstring(sbError, "No unit");
                            }
                            if (!string.IsNullOrEmpty(客戶名稱TB.Text))
                            {
                                if (!F_確認客戶代號())
                                {
                                    sbErrorstring(sbError, "Please enter the correct customer code");
                                }
                            }
                        }



                        if (string.IsNullOrEmpty(收件人TB.Text.Trim()))
                        {
                            sbErrorstring(sbError, "No receiver");
                        }
                        if (string.IsNullOrEmpty(客戶名稱TB.Text.Trim()))
                        {
                            sbErrorstring(sbError, "No receive company");
                        }
                        //if (string.IsNullOrEmpty(責任歸屬TB.Text))
                        //    sbErrorstring(sbError, "No responsibility:great giant payment key in GG");
                        if (責任歸屬DDL.SelectedValue != "GG" && string.IsNullOrEmpty(責任歸屬備註TB.Text))
                        {
                            sbErrorstring(sbError, "No 責任歸屬說明");
                        }
                        if (string.IsNullOrEmpty(明細TB.Text))
                        {
                            sbErrorstring(sbError, "No detail");
                        }
                        if (string.IsNullOrEmpty(原因歸屬DDL.SelectedValue))
                        {
                            sbErrorstring(sbError, "No reason");
                        }
                        if (F_確認結案(iid))
                        {
                            sbErrorstring(sbError, "Express order closed,resend package tomorrow");
                        }
                        if (sbError.Length > 0)
                        {
                            EditMessageLB.Text = sbError.ToString();
                            EditListPanel_ModalPopupExtender.Show();
                        }
                        else
                        {
                            if (iuid == 0)
                            {
                                var 新增快遞單明細 = new 快遞單明細();
                                //if (寄件人DDL.SelectedItem.Text == "河內快遞")
                                //{
                                //    新增快遞單明細.寄件人部門 = "J010";
                                //}
                                //else if (寄件人DDL.SelectedItem.Text == "寧平快遞")
                                //{
                                //    新增快遞單明細.寄件人部門 = "J010";
                                //}
                                //else
                                //    using (SqlConnection conn1 = new SqlConnection(strConnectEIPString))
                                //    {
                                //        SqlCommand command = new SqlCommand();
                                //        command.Connection = conn1;
                                //        command.CommandText = @"SELECT  distinct top 1 Dept_ID
                                //                FROM [dbo].[Dept] where Dept = @Dept";
                                //        command.CommandType = CommandType.Text;
                                //        command.Parameters.Add("@Dept_ID", SqlDbType.NVarChar).Value = 寄件人DDL.SelectedItem.Text;
                                //        conn1.Open();
                                //        SqlDataReader reader = command.ExecuteReader();

                                //        if (reader.HasRows)
                                //        {
                                //            if (reader.Read())
                                //            {
                                //                //DataReader讀出欄位內資料的方式,通常也可寫Reader[0]、[1]...[N]代表第一個欄位到N個欄位。
                                //                新增快遞單明細.寄件人部門 = reader.GetString(0);
                                //            }
                                //        }
                                //        reader.Close();
                                //    }
                                新增快遞單明細.寄件人部門 = 寄件人DDL.SelectedValue;
                                新增快遞單明細.id    = int.Parse(idHF.Value);
                                新增快遞單明細.付款方式  = (到付CB.Checked) ? "到付" : "";
                                新增快遞單明細.寄件人工號 = 工號資料.employee_no;
                                新增快遞單明細.寄件人   = 工號資料.employee_name;
                                新增快遞單明細.寄件人分機 = 分機TB.Text.Trim();
                                新增快遞單明細.客戶名稱  = 客戶名稱TB.Text.Trim();
                                //新增快遞單明細.寄件人部門 = 工號資料.dept_no;
                                新增快遞單明細.收件人       = 收件人TB.Text.Trim();
                                新增快遞單明細.IsDeleted = false;
                                新增快遞單明細.重量        = d重量;
                                //新增快遞單明細.責任歸屬 = 責任歸屬TB.Text.Trim();
                                新增快遞單明細.責任歸屬 = 責任歸屬DDL.SelectedValue;
                                if (責任歸屬備註TB.Visible)
                                {
                                    新增快遞單明細.責任歸屬備註 = 責任歸屬備註TB.Text;
                                }
                                新增快遞單明細.備註二   = 備註TB.Text.Trim();
                                新增快遞單明細.明細    = 明細TB.Text.Trim();
                                新增快遞單明細.email = 工號資料.email_address;
                                新增快遞單明細.原因歸屬  = 原因歸屬DDL.SelectedValue;
                                if (快遞廠商LB.Text.ToUpper() == "DHL" || 快遞廠商LB.Text.ToUpper() == "FEDEX")
                                {
                                    if (!string.IsNullOrEmpty(款號TB.Text))
                                    {
                                        新增快遞單明細.備註 = 款號TB.Text.Trim().ToUpper();
                                    }
                                    新增快遞單明細.快遞數量 = int.Parse(數量TB.Text);
                                    新增快遞單明細.快遞單位 = 單位DDL.SelectedValue;
                                }
                                conn.快遞單明細.Add(新增快遞單明細);
                            }
                            else
                            {
                                var 新增快遞單明細 = conn.快遞單明細.Find(iuid);
                                //if (寄件人DDL.SelectedItem.Text == "河內快遞")
                                //{
                                //    新增快遞單明細.寄件人部門 = "J010";
                                //}
                                //else if (寄件人DDL.SelectedItem.Text == "寧平快遞")
                                //{
                                //    新增快遞單明細.寄件人部門 = "J010";
                                //}
                                //else
                                //    using (SqlConnection conn1 = new SqlConnection(strConnectEIPString))
                                //    {
                                //        SqlCommand command = new SqlCommand();
                                //        command.Connection = conn1;
                                //        command.CommandText = @"SELECT  distinct top 1 Dept_ID
                                //                FROM [dbo].[Dept] where Dept = @Dept";
                                //        command.CommandType = CommandType.Text;
                                //        command.Parameters.Add("@Dept", SqlDbType.NVarChar).Value = 寄件人DDL.SelectedItem.Text;
                                //        conn1.Open();
                                //        SqlDataReader reader = command.ExecuteReader();

                                //        if (reader.HasRows)
                                //        {
                                //            if (reader.Read())
                                //            {
                                //                //DataReader讀出欄位內資料的方式,通常也可寫Reader[0]、[1]...[N]代表第一個欄位到N個欄位。
                                //                新增快遞單明細.寄件人部門 = reader.GetString(0);
                                //            }
                                //        }
                                //        reader.Close();
                                //    }
                                新增快遞單明細.寄件人部門 = 寄件人DDL.SelectedValue;
                                //新增快遞單明細.id = int.Parse(idHF.Value);
                                新增快遞單明細.付款方式  = (到付CB.Checked) ? "到付" : "";
                                新增快遞單明細.寄件人工號 = 工號資料.employee_no;
                                新增快遞單明細.寄件人   = 工號資料.employee_name;
                                新增快遞單明細.寄件人分機 = 分機TB.Text.Trim();
                                //新增快遞單明細.寄件人部門 = 工號資料.dept_no;
                                新增快遞單明細.收件人 = 收件人TB.Text.Trim();
                                新增快遞單明細.重量  = d重量;
                                //新增快遞單明細.責任歸屬 = 責任歸屬TB.Text.Trim();
                                新增快遞單明細.責任歸屬 = 責任歸屬DDL.SelectedValue;

                                新增快遞單明細.責任歸屬備註 = (責任歸屬備註TB.Visible)?責任歸屬備註TB.Text:"";
                                新增快遞單明細.備註二    = 備註TB.Text.Trim();
                                新增快遞單明細.明細     = 明細TB.Text.Trim();
                                新增快遞單明細.修改日期   = DateTime.Now;
                                新增快遞單明細.email  = 工號資料.email_address;
                                新增快遞單明細.原因歸屬   = 原因歸屬DDL.SelectedValue;
                                if (快遞廠商LB.Text.ToUpper() == "DHL" || 快遞廠商LB.Text.ToUpper() == "FEDEX")
                                {
                                    if (!string.IsNullOrEmpty(款號TB.Text))
                                    {
                                        新增快遞單明細.備註 = 款號TB.Text.Trim().ToUpper();
                                    }
                                    新增快遞單明細.快遞數量 = int.Parse(數量TB.Text);
                                    新增快遞單明細.快遞單位 = 單位DDL.SelectedValue;
                                }
                            }
                            conn.SaveChanges();
                            transaction.Commit();
                            DbInit();
                            ClearEdit();
                        }
                    }
                    catch (Exception ex1)
                    {
                        try
                        {
                            Log.ErrorLog(ex1, "Delete Error :", "MGT001.aspx");
                        }
                        catch (Exception ex2)
                        {
                            Log.ErrorLog(ex2, "Delete Error Error:", "MGT001.aspx");
                        }
                        finally
                        {
                            transaction.Rollback();
                            //Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('刪除失敗請連絡MIS');</script>");
                        }
                    }
                }
            }
        }