Esempio n. 1
0
    private void OnSceneGUI()
    {
        DrawDefaultInspector();
        Stitching obj = (Stitching)target;

        if (obj.points.Length == 0)
        {
            obj.points = new Vector3[] { obj.transform.position };
        }

        for (int i = 0; i < obj.points.Length; i++)
        {
            Vector3 point = obj.points[i];
            EditorGUI.BeginChangeCheck();
            Vector3 newTargetPos = Handles.PositionHandle(point, Quaternion.identity);
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(obj, "Moved Stitching Target point");
                obj.points[i] = newTargetPos;
            }
            if (i != obj.points.Length - 1)
            {
                Handles.DrawLine(obj.points[i], obj.points[i + 1]);
            }
        }
    }
Esempio n. 2
0
 public override void OnInspectorGUI()
 {
     DrawDefaultInspector();
     if (GUILayout.Button("Contract to mesh"))
     {
         Stitching obj = (Stitching)target;
         Undo.RecordObject(obj, "Contracted Stitching points to target mesh");
         Collider[] targetColliders = new Collider[targets.Length];
         obj.normals = new Vector3[obj.points.Length];
         for (int i = 0; i < targets.Length; i++)
         {
             targetColliders[i] = obj.others[i].GetComponent <Collider>();
         }
         for (int i = 0; i < obj.points.Length; i++)
         {
             Vector3 point = obj.points[i];
             float   dist  = Mathf.Infinity;
             foreach (Collider col in targetColliders)
             {
                 Vector3 newPoint = col.ClosestPoint(point);
                 float   newDist  = Vector3.Distance(newPoint, point);
                 if (newDist < dist)
                 {
                     Physics.Raycast(new Ray(point, newPoint - point), out RaycastHit hit, Mathf.Infinity, int.MaxValue, QueryTriggerInteraction.Ignore);
                     obj.points[i]  = newPoint;
                     obj.normals[i] = hit.normal;
                     dist           = newDist;
                 }
             }
         }
     }
 }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            #region Stitching
            Stitching _Stitching = new Stitching();

            _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);

            _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);

            _Stitching.Date_Rec = Convert.ToDateTime(txtDate.Text);

            #endregion

            if (Validate_Date(_Stitching))
            {
                if (ValidatePage())
                {
                    InsertStitching();
                    ClearFields();
                }
            }
        }
 protected void validatingPairs(ref Stitching _Stitching)
 {
     DataTable dt = Stitching_DA.Get_Pairs_From_Stitching(_Stitching);
     if (dt.Rows.Count > 0)
     {
         if (_Stitching.Pairs_Rec > int.Parse(dt.Rows[0][0].ToString()))
         {
             lblMessage.Text += "USing More Pairs then Have </br>";
         }
     }
 }
        protected void InsertStitching()
        {
            #region Stitching
            Stitching _Stitching = new Stitching();

            _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);
            _Stitching.Contractor_ID = int.Parse(ddlContractor.SelectedValue);

            _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);

            _Stitching.Date_Issued = Convert.ToDateTime(rblDateOfIssuance.SelectedValue);
            _Stitching.Pairs_Rec = int.Parse(txtPairs.Text);
            _Stitching.Date_Rec = Convert.ToDateTime(txtDate.Text);
            _Stitching.Description = txtDescription.Text;
            _Stitching.IsDeleted = false;
            #endregion

            lblMessage.Text += Stitching_DA.InsertStitching(_Stitching);

            lblMessage.ForeColor = System.Drawing.Color.Green;

            Response.Write("<script>alert('Inserted Successfully'); document.location='/forms/formStitching';</script>");
        }
        protected void Fill_rbl()
        {
            if (ddlOrderNo.SelectedValue != "" && ddlSize.SelectedValue != "" && ddlStyle.SelectedValue != "" && ddlStitcher.SelectedValue != "")
            {
                Stitching _Stitching = new Stitching();

                _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);

                _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);

                _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);

                _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);

                DataTable dt = Stitching_DA.Get_DateIssued_From_Stitching(_Stitching);
                rblDateOfIssuance.Items.Clear();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string date = Convert.ToDateTime(dt.Rows[i][0].ToString()).ToString("MM/dd/yyyy");
                    rblDateOfIssuance.Items.Add(new ListItem(date));
                }
                if (dt.Rows.Count > 0)
                {
                    rblDateOfIssuance.SelectedIndex = 0;
                }

                //rblDateOfIssuance.DataSource = dt;
                //rblDateOfIssuance.DataBind();
            }
        }
        protected void UpdateCuttingForCuttingIssuance()
        {
            Stitching _Stitching = new Stitching();
            _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);
            int BalancePairs = int.Parse(txtPairs.Text);

            DataTable dt = Stitching_DA.Get_Pairs_ANd_ID_From_Cutting(_Stitching);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                int pairs = int.Parse(dt.Rows[i][1].ToString());

                if (pairs >= BalancePairs || i+1 == dt.Rows.Count)
                {
                    Stitching_DA.Update_Cutting_By_ID_For_CuttingIssuance_Pairs(BalancePairs, dt.Rows[i][0].ToString());
                    BalancePairs = 0;

                    break;
                }
                else
                {
                    Stitching_DA.Update_Cutting_By_ID_For_CuttingIssuance_Pairs(pairs, dt.Rows[i][0].ToString());
                    BalancePairs -= pairs;
                }

            }
        }
        protected void Fill_PairsBox()
        {
            if (ddlOrderNo.SelectedValue != "" && ddlSize.SelectedValue != "" && ddlStyle.SelectedValue != "")
            {
                Stitching _Stitching = new Stitching();

                _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);

                _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);

                _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);

                DataTable dt = Stitching_DA.Get_Pairs_SUM_From_Cutting(_Stitching);

                if (dt.Rows.Count > 0)
                {
                    txtPairs.Text = dt.Rows[0][0].ToString();
                }
                else
                {
                    txtPairs.Text = "";
                }
            }
        }
 private string Validate(Stitching _Stitching, int OldOrder_ID, int OldStyle_ID, int OldSize_ID, int OldPairs)
 {
     DataTable dt = Stitching_DA.Get_Pairs_SUM_From_Cutting(_Stitching);
     int result;
     if (!int.TryParse(dt.Rows[0][0].ToString(), out result))
     {
         return "No Pairs to Issue<br>";
     }
     else
     {
         if (IsOSSsame(_Stitching, OldOrder_ID, OldStyle_ID, OldSize_ID, OldPairs))
         {
             if (OldPairs + int.Parse(dt.Rows[0][0].ToString()) >= _Stitching.Pairs_Issued)
                 return "";
             else
                 return "Issuing More Pairs Then already have in Cutting<br>";
         }
         else
         {
             if (int.Parse(dt.Rows[0][0].ToString()) >= _Stitching.Pairs_Issued)
                 return "";
             else
                 return "Issuing More Pairs Then already have in Cutting<br>";
         }
     }
 }
        public static string UpdateStitching(Stitching _Stitching)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_UpdateStitching";

            DbParameter param;

            param = command.CreateParameter();
            param.ParameterName = "@Id";
            param.Value = _Stitching.Id;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Employee_ID";
            param.Value = _Stitching.Employee_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Contractor_ID";
            param.Value = _Stitching.Contractor_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Order_ID";
            param.Value = _Stitching.Order_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Style_ID";
            param.Value = _Stitching.Style_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Size_ID";
            param.Value = _Stitching.Size_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Pairs_Rec";
            param.Value = _Stitching.Pairs_Rec;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Date_Issued";
            param.Value = _Stitching.Date_Issued;
            param.DbType = DbType.Date;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Date_Rec";
            param.Value = _Stitching.Date_Rec;
            param.DbType = DbType.Date;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Description";
            param.Value = _Stitching.Description;
            param.DbType = DbType.String;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Return";
            param.DbType = DbType.String;
            param.Size = 2;
            param.Direction = ParameterDirection.Output;
            command.Parameters.Add(param);

            Catalog_Access.ExecuteNonQuery(command);
            if (command.Parameters["@Return"].Value.ToString() == Constants.SP_ALREADY_EXIST)
            {
                return Constants.ALREADY_EXIST;
            }
            else
            {
                return Constants.SUCESS_UPDATE;
            }
        }
        public static bool IsCuttingIssuanceBeforeStitching(Stitching _Stitching)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_IsCuttingIssuanceBeforeStitching";

            DbParameter param;

            param = command.CreateParameter();
            param.ParameterName = "@Employee_ID";
            param.Value = _Stitching.Employee_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Order_ID";
            param.Value = _Stitching.Order_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Style_ID";
            param.Value = _Stitching.Style_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Size_ID";
            param.Value = _Stitching.Size_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Date_Rec";
            param.Value = _Stitching.Date_Rec;
            param.DbType = DbType.Date;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Return";
            param.DbType = DbType.String;
            param.Size = 2;
            param.Direction = ParameterDirection.Output;
            command.Parameters.Add(param);

            Catalog_Access.ExecuteNonQuery(command);

            if (command.Parameters["@Return"].Value.ToString() == "1")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// these are for Cutting Issuance
        /// </summary>
        /// <param name="_Stitching"></param>
        /// <returns></returns>
        public static string InsertCuttingIssuance(Stitching _Stitching)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_InsertCuttingIssuance";

            DbParameter param;

            param = command.CreateParameter();
            param.ParameterName = "@Employee_ID";
            param.Value = _Stitching.Employee_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Order_ID";
            param.Value = _Stitching.Order_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Style_ID";
            param.Value = _Stitching.Style_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Size_ID";
            param.Value = _Stitching.Size_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Pairs_Issued";
            param.Value = _Stitching.Pairs_Issued;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Date_Issued";
            param.Value = _Stitching.Date_Issued;
            param.DbType = DbType.Date;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@IsDeleted";
            param.Value = _Stitching.IsDeleted;
            param.DbType = DbType.Boolean;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Return";
            param.DbType = DbType.String;
            param.Size = 2;
            param.Direction = ParameterDirection.Output;
            command.Parameters.Add(param);

            Catalog_Access.ExecuteNonQuery(command);

            string Return = command.Parameters["@Return"].Value.ToString();

            if (Return == Constants.SP_ALREADY_EXIST)
            {
                return Constants.ALREADY_EXIST;
            }
            else
            {
                return Constants.SUCESS_INSERT;
            }
        }
        public string Update(int Id, int Employee_ID, int Contractor_ID, int Order_ID, int Style_ID, int Size_ID, int Pairs_Rec, string Date_Issued, string Date_Rec, string Description)
        {
            Stitching _Stitching = new Stitching();
            _Stitching.Id = Id;
            _Stitching.Employee_ID = Employee_ID;
            _Stitching.Contractor_ID = Contractor_ID;
            _Stitching.Order_ID = Order_ID;
            _Stitching.Style_ID = Style_ID;
            _Stitching.Size_ID = Size_ID;

            _Stitching.Pairs_Rec = Pairs_Rec;
            _Stitching.Date_Issued = Convert.ToDateTime(Date_Issued);
            _Stitching.Date_Rec = Convert.ToDateTime(Date_Rec);
            _Stitching.Description = Description;

            string msg = Validate_Date(_Stitching);

            if (msg == "")
            {

                //DataTable dt = Stitching_DA.Get_CuttingIssuance_By_ID(Id);

                //int OldOrder_ID = int.Parse(dt.Rows[0]["Order_ID"].ToString());
                //int OldStyle_ID = int.Parse(dt.Rows[0]["Style_ID"].ToString());
                //int OldSize_ID = int.Parse(dt.Rows[0]["Size_ID"].ToString());
                //int OldPairs = int.Parse(dt.Rows[0]["Pairs_Issued"].ToString());

                //string msg = Validate(_Stitching, OldOrder_ID, OldStyle_ID, OldSize_ID, OldPairs);

                DataTable dt = Stitching_DA.Get_CuttingIssuance_By_ID(_Stitching.Id);
                msg = Stitching_DA.UpdateStitching(_Stitching);

                if (msg == "Updated Sucessfully" && Session["User"].ToString().ToUpper() != ("Mustafa Piracha").ToUpper())
                {
                    SendNotification(_Stitching, dt);
                }
                //if (!msg.Contains(Constants.SP_ALREADY_EXIST))
                //{
                //    OldPairsCuttingEntry(OldOrder_ID, OldStyle_ID, OldSize_ID, OldPairs);
                //    UpdateCuttingForCuttingIssuance(_Stitching);
                //}
            }
            return msg;
        }
        public List<Employee> GetStitcher(int Order_ID, int Style_ID, int Size_ID, int Stitcher_ID)
        {
            List<Employee> _Employee = new List<Employee>();

            Stitching _Stitching = new Stitching();
            if (Order_ID != 0)
                _Stitching.Order_ID = Order_ID;
            if (Style_ID != 0)
                _Stitching.Style_ID = Style_ID;
            if (Size_ID != 0)
                _Stitching.Size_ID = Size_ID;
            if (Stitcher_ID != 0)
                _Stitching.Employee_ID = Stitcher_ID;

            DataTable dt = Stitching_DA.Get_Stitcher_From_Stitching(_Stitching);

            foreach (DataRow row in dt.Rows)
            {
                _Employee.Add(new Employee
                {
                    Id = int.Parse(row["Id"].ToString()),
                    Name = row["Name"].ToString()
                });

            }
            return _Employee;
        }
        public string GetPairs(int Order_ID, int Style_ID, int Size_ID, int Stitcher_ID, string Date)
        {
            Stitching _Stitching = new Stitching();

            _Stitching.Order_ID = Order_ID;
            _Stitching.Style_ID = Style_ID;
            _Stitching.Size_ID = Size_ID;
            _Stitching.Employee_ID = Stitcher_ID;
            _Stitching.Date_Issued = DateTime.Parse(Date);

            DataTable dt = Stitching_DA.Get_Pairs_From_Stitching(_Stitching);

            return dt.Rows[0][0].ToString();
        }
        public static DataTable Get_Size_From_Stitching(Stitching _Stitching)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_Get_Size_From_Stitching";

            DbParameter param;

            param = command.CreateParameter();
            param.ParameterName = "@OrderId";
            param.Value = _Stitching.Order_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@StyleId";
            param.Value = _Stitching.Style_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            param = command.CreateParameter();
            param.ParameterName = "@Employee_ID";
            param.Value = _Stitching.Employee_ID;
            param.DbType = DbType.Int32;
            command.Parameters.Add(param);

            return Catalog_Access.ExecuteSelectCommand(command);
        }
        private void SendNotification(Stitching _Stitching, DataTable dt)
        {
            string MessageBody = "Edited By : <b>" + Session["User"].ToString().ToUpper() + "</b><br><br>" + DateTime.UtcNow.AddHours(5) + "<br><h3>Before Edit</h3>";
            string tableStart = "<table style=\" width:100%;border-collapse: collapse;\">";//border: 1px solid #ddd;
            string tableEnd = "</table>";
            string MessageHeader = "<tr>";
            string MessageDataOld = "<tr>";
            string MessageDataNew = "<tr>";

            #region Old Header New

            MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + Convert.ToDateTime(dt.Rows[0]["Date_Issued"].ToString()).ToString("MM/dd/yyyy") + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Date" + "</th>";
            MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + _Stitching.Date_Issued.ToString("MM/dd/yyyy") + "</td>";

            if (dt.Rows[0]["Employee_ID"].ToString() == "")
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Employee_DA.Get_Employee_By_Id(int.Parse(dt.Rows[0]["Employee_ID"].ToString()))).Rows[0]["Name"].ToString() + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Stitcher" + "</th>";
            if (_Stitching.Employee_ID == null)
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Employee_DA.Get_Employee_By_Id(int.Parse(_Stitching.Employee_ID.ToString()))).Rows[0]["Name"] + "</td>";

            if (dt.Rows[0]["Order_ID"].ToString() == "")
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Order_DA.Get_Order_By_Id(int.Parse(dt.Rows[0]["Order_ID"].ToString()))).Rows[0]["Order_No"] + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Order" + "</th>";
            if (_Stitching.Order_ID == null)
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Order_DA.Get_Order_By_Id(int.Parse(_Stitching.Order_ID.ToString()))).Rows[0]["Order_No"] + "</td>";

            if (dt.Rows[0]["Style_ID"].ToString() == "")
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Style_DA.Get_Style_By_Id(int.Parse(dt.Rows[0]["Style_ID"].ToString()))).Rows[0]["Name"] + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Style" + "</th>";
            if (_Stitching.Style_ID == null)
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Style_DA.Get_Style_By_Id(int.Parse(_Stitching.Style_ID.ToString()))).Rows[0]["Name"] + "</td>";

            if (dt.Rows[0]["Size_ID"].ToString() == "")
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Style_DA.Get_Size_By_Id(int.Parse(dt.Rows[0]["Size_ID"].ToString()))).Rows[0]["No"] + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Size" + "</th>";
            if (_Stitching.Size_ID == null)
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + "" + "</td>";
            else
                MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + ((DataTable)Style_DA.Get_Size_By_Id(int.Parse(_Stitching.Size_ID.ToString()))).Rows[0]["No"] + "</td>";

            MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + dt.Rows[0]["Pairs_Issued"] + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Pairs Issued" + "</th>";
            MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + _Stitching.Pairs_Issued + "</td>";

            #endregion

            MessageDataOld += "</tr>";
            MessageHeader += "</tr>";
            MessageDataNew += "</tr>";

            MessageBody += tableStart + MessageDataOld + MessageHeader + MessageDataNew + tableEnd + "<h3>After Edit</h3>";
            sendMail.sendEmailMessage(ConfigurationManager.AppSettings["From"], ConfigurationManager.AppSettings["To"], ConfigurationManager.AppSettings["Password"], "Cutting Issuance Edit", MessageBody);
        }
        public Stitching Get(int Id)
        {
            Stitching _CuttingIssuance = new Stitching();

            DataTable dt = Stitching_DA.Get_CuttingIssuance_By_ID(Id);

            foreach (DataRow row in dt.Rows)
            {
                _CuttingIssuance.Employee_ID = int.Parse(row["Employee_ID"].ToString());
                _CuttingIssuance.Order_ID = int.Parse(row["Order_ID"].ToString());
                _CuttingIssuance.Style_ID = int.Parse(row["Style_ID"].ToString());
                _CuttingIssuance.Size_ID = int.Parse(row["Size_ID"].ToString());
                _CuttingIssuance.Pairs_Issued = int.Parse(row["Pairs_Issued"].ToString());
                _CuttingIssuance.Date = Convert.ToDateTime(row["Date_Issued"].ToString()).ToString("MM/dd/yyyy");

            }
            return _CuttingIssuance;
        }
        private string Validate_Date(Stitching _Stitching)
        {
            string msg = "";
            bool flag = false;

            flag = Stitching_DA.IsCuttingBeforeCuttingIssuance(_Stitching);

            if (!flag)
            {
                msg = "-1";
            }
            return msg;
        }
        public List<Order> GetOrder(int Order_ID, int Style_ID, int Size_ID)
        {
            List<Order> _Order = new List<Order>();

            Stitching _Stitching = new Stitching();
            if (Order_ID != 0)
                _Stitching.Order_ID = Order_ID;
            if (Style_ID != 0)
                _Stitching.Style_ID = Style_ID;
            if (Size_ID != 0)
                _Stitching.Size_ID = Size_ID;

            DataTable dt = Stitching_DA.Get_Order_From_Cutting(_Stitching);

            foreach (DataRow row in dt.Rows)
            {
                _Order.Add(new Order
                {
                    Id = int.Parse(row["Id"].ToString()),
                    Order_No = row["Order_No"].ToString()
                });

            }
            return _Order;
        }
        protected void InsertStitching()
        {
            #region Stitching
            Stitching _Stitching = new Stitching();

            _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);

            _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);
            _Stitching.Pairs_Issued = int.Parse(txtPairs.Text);
            _Stitching.Date_Issued = Convert.ToDateTime(txtDate.Text);
            _Stitching.IsDeleted = false;
            #endregion

            lblMessage.Text += Stitching_DA.InsertCuttingIssuance(_Stitching);
            if (!lblMessage.Text.Contains(Constants.ALREADY_EXIST))
            {
                UpdateCuttingForCuttingIssuance();
                lblMessage.ForeColor = System.Drawing.Color.Green;

                Response.Write("<script>alert('Inserted Successfully'); document.location='/forms/formCuttingIssuance';</script>");
            }
            else
            {
                lblMessage.ForeColor = System.Drawing.Color.Red;
            }
        }
        public string GetPairs(int Order_ID, int Style_ID, int Size_ID)
        {
            Stitching _Stitching = new Stitching();

            _Stitching.Order_ID = Order_ID;
            _Stitching.Style_ID = Style_ID;
            _Stitching.Size_ID = Size_ID;

            DataTable dt = Stitching_DA.Get_Pairs_SUM_From_Cutting(_Stitching);

            return dt.Rows[0][0].ToString();
        }
 protected void validatingPairs(ref bool flag,ref Stitching _Stitching)
 {
     DataTable dt = Stitching_DA.Get_Pairs_SUM_From_Cutting(_Stitching);
     if (dt.Rows.Count > 0)
     {
         if (_Stitching.Pairs_Issued > int.Parse(dt.Rows[0][0].ToString()))
         {
             lblMessage.Text += "USing More Pairs then Have </br>";
             flag = false;
         }
     }
 }
        public List<Styles> GetStyle(int Order_ID, int Style_ID, int Size_ID)
        {
            List<Styles> _Styles = new List<Styles>();

            Stitching _Stitching = new Stitching();
            if (Order_ID != 0)
                _Stitching.Order_ID = Order_ID;
            if (Style_ID != 0)
                _Stitching.Style_ID = Style_ID;
            if (Size_ID != 0)
                _Stitching.Size_ID = Size_ID;

            DataTable dt = Stitching_DA.Get_Style_From_Cutting(_Stitching);

            foreach (DataRow row in dt.Rows)
            {
                _Styles.Add(new Styles
                {
                    Id = int.Parse(row["Id"].ToString()),
                    Name = row["Name"].ToString(),
                });

            }
            return _Styles;
        }
        protected void Fill_PairsBox()
        {
            if (ddlOrderNo.SelectedValue != "" && ddlSize.SelectedValue != "" && ddlStyle.SelectedValue != "" && ddlStitcher.SelectedValue != "" && rblDateOfIssuance.SelectedValue != "")
            {
                Stitching _Stitching = new Stitching();

                _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);

                _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);

                _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);

                _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);

                _Stitching.Date_Issued = DateTime.Parse(rblDateOfIssuance.SelectedValue);

                DataTable dt = Stitching_DA.Get_Pairs_From_Stitching(_Stitching);

                if (dt.Rows.Count > 0)
                {
                    txtPairs.Text = dt.Rows[0][0].ToString();
                }
                else
                {
                    txtPairs.Text = "";
                }
            }
        }
        public string Update(int Id, int Employee_ID, int Order_ID, int Style_ID, int Size_ID, int Pairs_Issued, string Date_Issued)
        {
            Stitching _Stitching = new Stitching();
            _Stitching.Id = Id;
            _Stitching.Employee_ID = Employee_ID;
            _Stitching.Order_ID = Order_ID;
            _Stitching.Style_ID = Style_ID;
            _Stitching.Size_ID = Size_ID;

            _Stitching.Pairs_Issued = Pairs_Issued;
            _Stitching.Date_Issued = Convert.ToDateTime(Date_Issued);

            string msg = Validate_Date(_Stitching);

            if (msg == "")
            {
                DataTable dt = Stitching_DA.Get_CuttingIssuance_By_ID(Id);

                int OldOrder_ID = int.Parse(dt.Rows[0]["Order_ID"].ToString());
                int OldStyle_ID = int.Parse(dt.Rows[0]["Style_ID"].ToString());
                int OldSize_ID = int.Parse(dt.Rows[0]["Size_ID"].ToString());
                int OldPairs = int.Parse(dt.Rows[0]["Pairs_Issued"].ToString());

                msg = Validate(_Stitching, OldOrder_ID, OldStyle_ID, OldSize_ID, OldPairs);

                if (msg == "")
                {
                    msg += Stitching_DA.UpdateCuttingIssuance(_Stitching);

                    if (!msg.Contains(Constants.SP_ALREADY_EXIST))
                    {
                        OldPairsCuttingEntry(OldOrder_ID, OldStyle_ID, OldSize_ID, OldPairs);
                        UpdateCuttingForCuttingIssuance(_Stitching);

                        if (Session["User"].ToString().ToUpper() != ("Mustafa Piracha").ToUpper())
                        {
                            SendNotification(_Stitching, dt);
                        }
                    }
                }
            }
            return msg;
        }
        protected void Fill_Style()
        {
            Stitching _Stitching = new Stitching();

            if (ddlOrderNo.SelectedValue != "")
            {
                _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            }
            if (ddlStyle.SelectedValue != "")
            {
                _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);
            }
            if (ddlSize.SelectedValue != "")
            {
                _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);
            }
            if (ddlStitcher.SelectedValue != "")
            {
                _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);
            }
            DataTable dt = Stitching_DA.Get_Style_From_Stitching(_Stitching);

            if (ddlStyle.SelectedValue == "")
            {
                if (dt.Rows.Count == 0)
                    ddlStyle.Items.Clear();
                else
                {
                    ddlStyle.DataSource = dt;
                    ddlStyle.DataTextField = "Name";
                    ddlStyle.DataValueField = "Id";
                    ddlStyle.DataBind();

                }
                ddlStyle.Items.Insert(0, new ListItem(Constants.SELECT_HERE, ""));
                ddlStyle.SelectedIndex = 0;
            }
        }
        protected void UpdateCuttingForCuttingIssuance(Stitching _Stitching)
        {
            int BalancePairs = _Stitching.Pairs_Issued;
            DataTable dt = Stitching_DA.Get_Pairs_ANd_ID_From_Cutting(_Stitching);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                int pairs = int.Parse(dt.Rows[i][1].ToString());

                if (pairs >= BalancePairs || i + 1 == dt.Rows.Count)
                {
                    Stitching_DA.Update_Cutting_By_ID_For_CuttingIssuance_Pairs(BalancePairs, dt.Rows[i][0].ToString());
                    BalancePairs = 0;

                    break;
                }
                else
                {
                    Stitching_DA.Update_Cutting_By_ID_For_CuttingIssuance_Pairs(pairs, dt.Rows[i][0].ToString());
                    BalancePairs -= pairs;
                }

            }
        }
        protected bool ValidatePage()
        {
            bool flag = true;
            #region Stitching
            Stitching _Stitching = new Stitching();

            _Stitching.Employee_ID = int.Parse(ddlStitcher.SelectedValue);
            _Stitching.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Stitching.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Stitching.Size_ID = int.Parse(ddlSize.SelectedValue);
            _Stitching.Date_Issued = Convert.ToDateTime(rblDateOfIssuance.SelectedValue);

            _Stitching.Pairs_Rec = int.Parse(txtPairs.Text);

            #endregion

            validatingPairs(ref _Stitching);

            if (flag == false)
                lblMessage.ForeColor = System.Drawing.Color.Red;
            else
                lblMessage.ForeColor = System.Drawing.Color.Green;
            return flag;
        }
 private bool IsOSSsame(Stitching _Stitching, int OldOrder_ID, int OldStyle_ID, int OldSize_ID, int OldPairs)
 {
     if (_Stitching.Order_ID == OldOrder_ID && _Stitching.Style_ID == OldStyle_ID && _Stitching.Size_ID == OldSize_ID)
         return true;
     else
         return false;
 }
        private bool Validate_Date(Stitching _Stitching)
        {
            lblMessage.Text = "";
            lblMessage.ForeColor = System.Drawing.Color.Red;
            bool flag = false;

            flag = Stitching_DA.IsCuttingIssuanceBeforeStitching(_Stitching);

            if (!flag)
            {
                lblMessage.Text = "Your Stitching Date is earlier than Cutting Issuance";
            }
            return flag;
        }
        public List<Styles> GetDateOfIssuanceAll(int Stitcher_ID, int Order_ID, int Style_ID, int Size_ID, string Date)
        {
            List<Styles> _Styles = new List<Styles>();

            Stitching _Stitching = new Stitching();

            _Stitching.Employee_ID = Stitcher_ID;

            _Stitching.Order_ID = Order_ID;

            _Stitching.Style_ID = Style_ID;

            _Stitching.Size_ID = Size_ID;

            DataTable dt = Stitching_DA.Get_DateIssued_From_Stitching(_Stitching);

            foreach (DataRow row in dt.Rows)
            {
                _Styles.Add(new Styles
                {
                    Name = Convert.ToDateTime(row[0].ToString()).ToString("MM/dd/yyyy"),
                });
            }
            _Styles.Add(new Styles
            {
                Name = Date,
            });

            return _Styles;
        }