static List <ICommand> getCommands()
        {
            List <ICommand> ret = new List <ICommand>();

            ret.Add(new Help());
            ret.Add(new Vars());
            Start start = new Start();

            ret.Add(start);
            ret.Add(new Close(start));
            ret.Add(new AliasProvider());
            ret.Add(new Echo());
            ret.Add(new Config());
            Exit exit = new Exit();

            ret.Add(exit);
            ret.Add(new Alias("stop", exit));
            ret.Add(new Equals());
            Packing packer = new Packing();

            ret.Add(packer);
            ret.Add(new Alias("pack", new String[] { "pack" }, packer));
            ret.Add(new Alias("unpack", new String[] { "unpack" }, packer));
            ret.Add(new Test());
            GuiDesigner designer = new GuiDesigner();

            ret.Add(designer);
            ret.Add(new Alias("ui", designer));

            return(ret);
        }
 private void MajooriPer_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         Packing.Focus();
     }
 }
示例#3
0
        public void K_Thousand_Packs_Test(int N)
        {
            float[] weights = new float[N];
            for (int i = 0; i < N; i++)
            {
                weights[i] = random.Next(0, 1000);
            }
            // weights {w1, w2, w3, ... , wn}
            // Reweight for each wi: wi / max(weights)
            Packing.ReWeight(ref weights);

            List <float> bfContainers = new List <float>();
            int          bfCount      = Packing.BestFit(weights, ref bfContainers);

            List <float> ffContainers = new List <float>();
            int          ffCount      = Packing.FirstFit(weights, ref ffContainers);

            List <float> nfContainers = new List <float>();
            int          nfCount      = Packing.NextFit(weights, ref nfContainers);

            List <float> ffoContainers = new List <float>();

            Array.Sort(weights, new ReverseComparer());
            int ffoCount = Packing.FirstFit(weights, ref ffoContainers);

            Console.WriteLine($"-- {N} items bin packing --");
            Console.WriteLine($"Next Fit = {nfCount}");
            Console.WriteLine($"First Fit = {ffCount}");
            Console.WriteLine($"Best Fit = {bfCount}");
            Console.WriteLine($"Order First Fit = {ffoCount}");
        }
示例#4
0
        public static string MainProgram(string[] args)
        {
            if (args.Length == 0)
            {
                return(GetHelpInfo());
            }

            switch (args[0])
            {
            case "/h":
                return(GetHelpInfo());

            case "/v":
                return(GetVersionInfo());

            default:
                using (var enumerator = GetEnumrator(args))
                {
                    haveCurrentValue = enumerator.MoveNext();

                    var target   = GetTargetPath(enumerator);
                    var packName = GetPackFileName(enumerator);
                    var setting  = GetPackagingSetting(enumerator);
                    var key      = GetEncryptKey(enumerator);
                    var ignore   = GetIgnoreFilePath(enumerator).ToList();

                    Packing.Run(target, packName, setting, ignore, key);
                }
                break;
            }

            return("パッキング終了");
        }
示例#5
0
        private void Package()
        {
            var bPass = Password.TakeWhile(c => c != 0x00).Select(sb => (byte)sb).ToArray();
            var pass  = Encoding.UTF8.GetString(bPass, 0, bPass.Length);

            Packing.Run(SrcPath, DstPath, Setting, new string[] { }, pass);
        }
示例#6
0
        /// <inheritdoc />
        public bool Equals([AllowNull] Tiling other)
        {
            if (other == null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Packing == other.Packing ||
                     Packing != null &&
                     Packing.Equals(other.Packing)
                     ) &&
                 (
                     SquarifyRatio == other.SquarifyRatio ||
                     SquarifyRatio != null &&
                     SquarifyRatio.Equals(other.SquarifyRatio)
                 ) &&
                 (
                     Flip == other.Flip ||
                     Flip != null &&
                     Flip.Equals(other.Flip)
                 ) &&
                 (
                     Pad == other.Pad ||
                     Pad != null &&
                     Pad.Equals(other.Pad)
                 ));
        }
示例#7
0
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                int hashCode = 41;

                if (Packing != null)
                {
                    hashCode = hashCode * 59 + Packing.GetHashCode();
                }

                if (SquarifyRatio != null)
                {
                    hashCode = hashCode * 59 + SquarifyRatio.GetHashCode();
                }

                if (Flip != null)
                {
                    hashCode = hashCode * 59 + Flip.GetHashCode();
                }

                if (Pad != null)
                {
                    hashCode = hashCode * 59 + Pad.GetHashCode();
                }

                return(hashCode);
            }
        }
示例#8
0
        public void TestGenerateSlip()
        {
            IPacking packing = new Packing();

            packing.GenerateSlip();
            Assert.IsTrue(true);
        }
示例#9
0
    public void Knapsack()
    {
        var expected = new long[] { 3, 2 };
        var actual   = Packing.Knapsack(new long[] { 1, 2, 3 }, 5);

        Assert.True(expected.SequenceEqual(actual));
    }
示例#10
0
        /// <summary>
        /// This member is the entry point for the send thread. As this connection may wait for a remote to connect,
        /// send will accept and queue messages until ready.This thread will block until signalled that a connection is
        /// made, or that there are new messages to transmit.
        /// </summary>
        private void SendThreadFunction()
        {
            byte[] buildBuffer    = new byte[UDP_MAX_DATAGRAM_SIZE]; // working memory for building udp packets
            int    maxPayloadSize = buildBuffer.Length - HEADERSIZE;

            try
            {
                do
                {
                    sendsignal.WaitOne();   // waits until there is some data to send

                    while (messagestosend.Count > 0)
                    {
                        ReferenceCountedMessage m = (ReferenceCountedMessage)messagestosend.Dequeue();

                        if (m.length == 0)
                        {
                            m.Release();
                            continue;   // don't send empty messages.
                        }

                        if (m.length > maxPayloadSize)
                        {
                            Debug.LogException(new Exception(string.Format("Message size {0} exceeds the maximum payload size of {1} bytes", m.length, maxPayloadSize)));
                            m.Release();
                            continue;
                        }

                        Packing.GetBytes(m.length, buildBuffer, 0);
                        Buffer.BlockCopy(m.bytes, m.start, buildBuffer, HEADERSIZE, m.length);
                        int datagramSize = HEADERSIZE + m.length;
                        int sent         = socket.Send(buildBuffer, 0, datagramSize, SocketFlags.None);

                        if (sent != datagramSize)
                        {
                            Debug.LogException(new Exception("Socket.Send() sent the wrong number of bytes in UDP mode. This is unexpected."));
                        }

                        m.Release();
                    }
                } while (true);
            }
            catch (ThreadInterruptedException)
            {
                Debug.Log(def.ToString() + " Send Shutdown.");
                return;
            }
            catch (ObjectDisposedException)
            {
                Debug.Log(def.ToString() + " Send Shutdown.");
                return;
            }
            catch (Exception e)
            {
                // promote any unhandled exceptions up to Unity via the Debug Log
                Debug.LogError("Unhandled Exception in " + def.ToString());
                Debug.LogException(e);
            }
        }
示例#11
0
        public ActionResult DeleteConfirmed(int id)
        {
            Packing packing = db.Packings.Find(id);

            db.Packings.Remove(packing);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 private void Majdoori_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         this.CalculateOtherCharges();
         Packing.Focus();
     }
 }
示例#13
0
        public ActionResult Add(Packing packing)
        {
            ResponseMsg response = new ResponseMsg();

            PackingLogic.AddPacking(packing);
            response.IsSuccess = true;
            return(Json(response));
        }
示例#14
0
        public void Cuboids_OneBin_CanPackWithLeftovers()
        {
            // Arrange
            var bin = new List <Cuboid> {
                Cuboid.ByLengths(400, 500, 300)
            };
            var items = new List <Cuboid>
            {
                Cuboid.ByLengths(100, 200, 100),
                Cuboid.ByLengths(200, 200, 250),
                Cuboid.ByLengths(100, 150, 300),
                Cuboid.ByLengths(300, 200, 350),
                Cuboid.ByLengths(150, 200, 500),
                Cuboid.ByLengths(200, 100, 100),
                Cuboid.ByLengths(100, 150, 200),
                Cuboid.ByLengths(200, 150, 200),
                Cuboid.ByLengths(250, 200, 300)
            };
            var expectedIndices = new List <List <int> > {
                new List <int> {
                    3, 7, 6, 8, 1
                }
            };
            var expectedPackedContainerVolumes = new List <List <int> > {
                new List <int> {
                    3, 7, 6, 8, 1
                }
            };
            var expectedPercentageContainerVolumePacked = 91.67;
            var expectedPercentageItemVolumePacked      = 70.06;

            // Act
            Dictionary <string, object> result = Packing.PackCuboids(items, bin);

            // Assert
            // Check if the result is a dictionary that contains the expected output port keys
            CollectionAssert.AreEqual(result.Keys, expectedNodeOutputDictionaryKeys);

            // extract results from dictionary
            var actualPackeditems    = (List <List <Cuboid> >)result[packedItemsOutputPort];
            var actualRemainItems    = (List <int>)result[remainingIndicesOutputPort];
            var actualPackedIndices  = (List <List <int> >)result[indicesOutputPort];
            var actualPercentContVol = (result[percentContainerVolumePackedPort] as IEnumerable <double>).First();
            var actualPercentItemVol = (result[percentItemVolumePackedPort] as IEnumerable <double>).First();

            // Checks if the right amount of items has been packed
            Assert.AreEqual(1, actualPackeditems.Count);             // the number of bins this was packed into is 1
            Assert.AreEqual(5, actualPackeditems.Sum(x => x.Count)); // total number of packed cuboids is 5
            Assert.AreEqual(4, actualRemainItems.Count);

            // Check the packing percentages are correct
            Assert.AreEqual(expectedPercentageContainerVolumePacked, Math.Round(actualPercentContVol, 2));
            Assert.AreEqual(expectedPercentageItemVolumePacked, Math.Round(actualPercentItemVol, 2));

            // Checks that the right items has been packed
            Assert.AreEqual(1, actualPackedIndices.Count); // the number of bins this was packed into is 1
            CollectionAssert.AreEqual(actualPackedIndices, expectedIndices);
        }
示例#15
0
 protected override void OnOpenNew()
 {
     Packing = new Packing
     {
         Date    = DateTime.Now,
         Mix     = ContextManager.ActiveMixes.FirstOrDefault(),
         Package = ContextManager.ActivePackages.FirstOrDefault()
     };
 }
示例#16
0
        public static void AddPacking(Packing packing)
        {
            Dictionary <string, object> param = new Dictionary <string, object>();

            param.Add("@ID", packing.ID);
            param.Add("@Name", packing.Name.Trim());
            param.Add("@ConversionFactor", packing.ConversionFactorWithLtr.Trim());
            DBHelper.ExecuteNonQuery("AddPacking", param, true);
        }
示例#17
0
    public void Knapsack01ZeroItems()
    {
        var items = Array.Empty <BigInteger>();

        var expected = new BigInteger(0);
        var actual   = Packing.Knapsack01(15, items, out _);

        Assert.Equal(expected, actual);
    }
示例#18
0
 public ActionResult Edit([Bind(Include = "Packing_Id,Packing_Type")] Packing packing)
 {
     if (ModelState.IsValid)
     {
         db.Entry(packing).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(packing));
 }
示例#19
0
        public static bool Delete(Packing packing)
        {
            using (_d = new DataRepository <Packing>())
            {
                _d.Delete(packing);
                _d.SaveChanges();
            }

            return(true);
        }
示例#20
0
        public ActionResult Addpacking(Packing packing)
        {
            if (ModelState.IsValid)
            {
                cont.Packings.Add(packing);
                cont.SaveChanges();
                TempData["message"] = string.Format("Упаковка товара  '{0}' сохранена", packing.Name);
            }

            return(RedirectToAction("Addpacking"));
        }
示例#21
0
    public void Knapsack01OneItem()
    {
        var items = Enumerable.Range(1, 1)
                    .Select(i => new BigInteger(i))
                    .ToArray();

        var expected = new BigInteger(1);
        var actual   = Packing.Knapsack01(15, items, out List <BigInteger> bag);

        Assert.Equal(expected, actual);
    }
示例#22
0
        public ActionResult Create([Bind(Include = "Packing_Id,Packing_Type")] Packing packing)
        {
            if (ModelState.IsValid)
            {
                db.Packings.Add(packing);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(packing));
        }
        public async Task <HttpResponseMessage> AddPacking([FromBody] Packing pack)
        {
            try
            {
                await packOp.AddPacking(pack);

                return(Request.CreateResponse(HttpStatusCode.Created, pack));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
示例#24
0
        // GET: Packings/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Packing packing = db.Packings.Find(id);

            if (packing == null)
            {
                return(HttpNotFound());
            }
            return(View(packing));
        }
示例#25
0
        public void Rectangles_MultiBin_CanPackAndHaveLeftovers()
        {
            // Arrange
            var bins = new List <Rectangle> {
                Rectangle.ByWidthLength(30, 30),
                Rectangle.ByWidthLength(30, 30),
                Rectangle.ByWidthLength(30, 30),
            };
            var items = new List <Rectangle>
            {
                Rectangle.ByWidthLength(20, 23),
                Rectangle.ByWidthLength(12, 30),
                Rectangle.ByWidthLength(33, 20),
                Rectangle.ByWidthLength(32, 31),
                Rectangle.ByWidthLength(12, 22),
                Rectangle.ByWidthLength(15, 15)
            };
            var expectedIndices = new List <List <int> > {
                new List <int> {
                    0
                },
                new List <int> {
                    1, 4
                },
                new List <int> {
                    5
                }
            };

            // Act
            Dictionary <string, object> result = Packing.PackRectangles(items, bins, RectanglePackingStrategy.BestShortSideFits);

            // Assert
            Assert.IsTrue(result.Keys.Contains(packedItemsOutputPort));
            Assert.IsTrue(result.Keys.Contains(remainingIndicesOutputPort));
            Assert.IsTrue(result.Keys.Contains(indicesOutputPort));

            var packedRectangles = (List <List <Rectangle> >)result[packedItemsOutputPort];

            Assert.AreEqual(3, packedRectangles.Count);             // 3 bins were packed
            Assert.AreEqual(4, packedRectangles.Sum(x => x.Count)); // the number of rectangles packed is 4

            var remainItems = (List <int>)result[remainingIndicesOutputPort];

            Assert.AreEqual(2, remainItems.Count); // 2 rectangles were not packed

            var packedIndices = (List <List <int> >)result[indicesOutputPort];

            CollectionAssert.AreEqual(packedIndices, expectedIndices); // the rectangles were packed in the order and grouping expected
        }
示例#26
0
        public frmPacking(String CustomerID, String Teacher, String Student)
        {
            InitializeComponent();

            oOrder             = new Packing(Global.GetParameter("CurrentCompany"));
            this.CompanyID     = Global.GetParameter("CurrentCompany");
            txtOrderID.Text    = CustomerID;
            txtOrderID.Enabled = false;
            txtTeacher.Text    = Teacher;
            txtTeacher.Enabled = false;
            txtStudent.Text    = Student;
            txtStudent.Enabled = false;
            //if (!ShowOrder())
            //    MessageBox.Show("This Order doen't exist...");
            this.txtProductID.Focus();
        }
 private void ProcessPacket(ref RawStreamBuffer cReceiveBuffer)
 {
     while (cReceiveBuffer.WriteIndex - cReceiveBuffer.ReadIndex >= ProtocolHeader.HeadLength)
     {
         StreamBuffer sb = Packing.GetPacketBufferWithHeader(ref cReceiveBuffer);
         if (sb != null)
         {
             m_peerListener.OnPktReceive(sb);
         }
         else
         {
             break;
         }
     }
     //cReceiveBuffer.ClearBuffer();
 }
示例#28
0
        public OperationResponse Add(Packing entity)
        {
            var result = new OperationResponse();

            try
            {
                var dbLocator = AmbientDbContextLocator.Get <FunzaDBContext>();
                dbLocator.Add(entity);
            }
            catch (Exception ex)
            {
                result.AddException($"Error adding Funza Packing", ex);
            }

            return(result);
        }
示例#29
0
        /// <summary>
        /// 发送
        /// </summary>
        public void Send()
        {
            //
            try
            {
                PacketBase pb;
                if (this.m_cSendQueue.Dequeue(out pb))
                {
                    if (this.m_cSocket == null)
                    {
                        throw new Exception("The socket is null.");
                    }
                    //MemoryStream ms = new MemoryStream();
                    //BinaryFormatter bf = new BinaryFormatter();
                    //byte[] buffer = null;
                    //bf.Serialize(ms, pb);
                    //buffer = ms.ToArray();
                    byte[]       buffer = null;
                    StreamBuffer sb     = new StreamBuffer();
                    pb.Write(sb);
                    buffer = sb.m_lstBuffer;
                    if (buffer == null)
                    {
                        throw new Exception("The the send buffer is null.");
                    }
                    buffer = Packing.PackingEncode(buffer, pb.GetSize());

                    SocketAsyncEventArgs e = new SocketAsyncEventArgs();
                    e.Completed += this.SendCompleteCallBack;
                    e.SetBuffer(buffer, 0, Packing.GetPacketHeadSize() + pb.GetSize());
                    bool done = this.m_cSocket.SendAsync(e);
                    if (!done)
                    {
                        SendProcess(e);
                    }
                    //this.m_cSocket.BeginSend(buffer, 0, Packing.GetPacketHeadSize() + pb.GetSize(),
                    //    SocketFlags.DontRoute, new AsyncCallback(SendCallBack), this.m_cSocket);
                }
            }
            catch (Exception ee)
            {
                WriteFiles.WritFile.Log(LogerType.ERROR, ee.ToString());
                DisConnect();
            }
        }
示例#30
0
        private void btn_export_Click(object sender, EventArgs e)
        {
            if (!System.IO.Directory.Exists(targetPath))
            {
                System.Windows.Forms.MessageBox.Show("ディレクトリが設定されていません。");
                return;
            }

            var dialog = new SaveFileDialog();

            dialog.Filter = "パックファイル(*.pack)|*.pack";

            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                Packing.Run(targetPath, dialog.FileName, PackagingSetting.IgnoreHiddenAttribute, new string[] { }, txt_password.Text);
                System.Windows.Forms.MessageBox.Show("パッケージを出力しました。");
            }
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            #region Packing
            Packing _Packing = new Packing();

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

            _Packing.Date = Convert.ToDateTime(txtDate.Text);
            #endregion

            if (Validate_Date(_Packing))
            {
                if (ValidatePage())
                {
                    InsertPacking();
                    ClearFields();
                }
            }
        }
示例#32
0
文件: Box.cs 项目: abock/ctk
 private void MapPacking(Widget child, Packing packing)
 {
     if (packing_map.ContainsKey (child)) {
         packing_map[child] = packing;
     } else {
         packing_map.Add (child, packing);
     }
 }
        protected void InsertPacking()
        {
            #region Packing
            Packing _Packing = new Packing();

            //_Packing.Employee_ID = int.Parse(ddlPacker.SelectedValue);

            _Packing.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Packing.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Packing.Size_ID = int.Parse(ddlSize.SelectedValue);
            _Packing.Pairs_Packed = int.Parse(txtPairs.Text);
            _Packing.Date = Convert.ToDateTime(txtDate.Text);
            _Packing.Description = txtDescription.Text;
            _Packing.IsDeleted = false;
            #endregion

            lblMessage.Text += Packing_DA.InsertPacking(_Packing);
            if (!lblMessage.Text.Contains(Constants.ALREADY_EXIST))
            {
                UpdateStitchingForPacking();
                lblMessage.ForeColor = System.Drawing.Color.Green;

                Response.Write("<script>alert('Inserted Successfully'); document.location='/forms/formPacking';</script>");
            }
            else
            {
                lblMessage.ForeColor = System.Drawing.Color.Red;
            }
        }
        protected void Fill_Style()
        {
            Packing _Packing = new Packing();

            if (ddlOrderNo.SelectedValue != "")
            {
                _Packing.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            }
            if (ddlStyle.SelectedValue != "")
            {
                _Packing.Style_ID = int.Parse(ddlStyle.SelectedValue);
            }
            if (ddlSize.SelectedValue != "")
            {
                _Packing.Size_ID = int.Parse(ddlSize.SelectedValue);
            }

            DataTable dt = Rejection_DA.Get_Style_From_Stitching_For_Rejection(_Packing);

            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;
            }
        }
        public static string UpdatePacking(Packing _Packing)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_UpdatePacking";

            DbParameter param;

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

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

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

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

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

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

            param = command.CreateParameter();
            param.ParameterName = "@Description";
            param.Value = _Packing.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 List<Styles> GetStyle(int Order_ID, int Style_ID, int Size_ID)
        {
            List<Styles> _Styles = new List<Styles>();

            Packing _Packing = new Packing();
            if (Order_ID != 0)
                _Packing.Order_ID = Order_ID;
            if (Style_ID != 0)
                _Packing.Style_ID = Style_ID;
            if (Size_ID != 0)
                _Packing.Size_ID = Size_ID;

            DataTable dt = Rejection_DA.Get_Style_From_Stitching_For_Rejection(_Packing);

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

            }
            return _Styles;
        }
 private bool IsOSSsame(Packing _Packing, int OldOrder_ID, int OldStyle_ID, int OldSize_ID, int OldPairs)
 {
     if (_Packing.Order_ID == OldOrder_ID && _Packing.Style_ID == OldStyle_ID && _Packing.Size_ID == OldSize_ID)
         return true;
     else
         return false;
 }
        public string Update(int Id, string Description, int Order_ID, int Style_ID, int Size_ID, int Pairs_Packed, string DateString)
        {
            Packing _Packing = new Packing();
            _Packing.Id = Id;
            _Packing.Description = Description;
            _Packing.Order_ID = Order_ID;
            _Packing.Style_ID = Style_ID;
            _Packing.Size_ID = Size_ID;

            _Packing.Pairs_Packed = Pairs_Packed;
            _Packing.Date = Convert.ToDateTime(DateString);

            string msg = Validate_Date(_Packing);

            if (msg == "")
            {

                DataTable dt = Packing_DA.Get_Packing_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_Packed"].ToString());

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

                if (msg == "")
                {
                    //DataTable dt = Packing_DA.Get_Packing_By_ID(_Packing.Id);
                    msg = Packing_DA.UpdatePacking(_Packing);

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

            Packing _Packing = new Packing();
            if (Order_ID != 0)
                _Packing.Order_ID = Order_ID;
            if (Style_ID != 0)
                _Packing.Style_ID = Style_ID;
            if (Size_ID != 0)
                _Packing.Size_ID = Size_ID;

            DataTable dt = Packing_DA.Get_Size_From_Stitching_For_Packing(_Packing);

            foreach (DataRow row in dt.Rows)
            {
                _Size.Add(new Size
                {
                    Id = int.Parse(row["Id"].ToString()),
                    No = int.Parse(row["No"].ToString())
                });

            }
            return _Size;
        }
        protected bool ValidatePage()
        {
            bool flag = true;
            lblMessage.Text = "";
            #region Packing
            Packing _Packing = new Packing();

            //_Packing.Employee_ID = int.Parse(ddlPacker.SelectedValue);
            _Packing.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Packing.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Packing.Size_ID = int.Parse(ddlSize.SelectedValue);

            _Packing.Pairs_Packed = int.Parse(txtPairs.Text);

            #endregion

            validatingPairs(ref flag, ref _Packing);

            if (flag == false)
                lblMessage.ForeColor = System.Drawing.Color.Red;
            else
                lblMessage.ForeColor = System.Drawing.Color.Green;
            return flag;
        }
 protected void validatingPairs(ref bool flag, ref Packing _Packing)
 {
     DataTable dt = Packing_DA.Get_Pairs_SUM_From_Stitching(_Packing);
     if (dt.Rows.Count > 0)
     {
         if (_Packing.Pairs_Packed > int.Parse(dt.Rows[0][0].ToString()))
         {
             lblMessage.Text += "USing More Pairs then Have </br>";
             flag = false;
         }
     }
 }
        private bool Validate_Date(Packing _Packing)
        {
            lblMessage.Text = "";
            lblMessage.ForeColor = System.Drawing.Color.Red;
            bool flag = false;

            flag = Packing_DA.IsStitchingBeforePacking(_Packing);

            if (!flag)
            {
                lblMessage.Text = "Your Packing Date is earlier than Stitching";
            }
            return flag;
        }
        public static DataTable Get_Style_From_Stitching_For_Packing(Packing _Packing)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_Get_Style_From_Stitching_For_Packing";

            DbParameter param;

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

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

            return Catalog_Access.ExecuteSelectCommand(command);
        }
示例#44
0
文件: Box.cs 项目: abock/ctk
 private void Pack(Widget child, Packing packing, bool end)
 {
     MapPacking (child, packing);
     Add (child);
 }
        private void SendNotification(Packing _Packing, 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"].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;\">" + _Packing.Date.ToString("MM/dd/yyyy") + "</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 (_Packing.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(_Packing.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 (_Packing.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(_Packing.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 (_Packing.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(_Packing.Size_ID.ToString()))).Rows[0]["No"] + "</td>";

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

            MessageDataOld += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + dt.Rows[0]["Description"] + "</td>";
            MessageHeader += "<th align=\"left\" style=\"border: 1px solid #ddd;height: 30px;\">" + "Description" + "</th>";
            MessageDataNew += "<td  style=\"border: 1px solid #ddd;font-family:Courier New;height: 50px;\">" + _Packing.Description + "</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"], "Packing Edit", MessageBody);
        }
 private string Validate(Packing _Packing, int OldOrder_ID, int OldStyle_ID, int OldSize_ID, int OldPairs)
 {
     DataTable dt = Packing_DA.Get_Pairs_SUM_From_Stitching(_Packing);
     int result;
     if (!int.TryParse(dt.Rows[0][0].ToString(), out result))
     {
         return "No Pairs to Pack<br>";
     }
     else
     {
         if (IsOSSsame(_Packing, OldOrder_ID, OldStyle_ID, OldSize_ID, OldPairs))
         {
             if (OldPairs + int.Parse(dt.Rows[0][0].ToString()) >= _Packing.Pairs_Packed)
                 return "";
             else
                 return "Packing More Pairs Then Stitched<br>";
         }
         else
         {
             if (int.Parse(dt.Rows[0][0].ToString()) >= _Packing.Pairs_Packed)
                 return "";
             else
                 return "Packing More Pairs Then Stitched<br>";
         }
     }
 }
        protected void Fill_PairsBox()
        {
            if (ddlOrderNo.SelectedValue != "" && ddlSize.SelectedValue != "" && ddlStyle.SelectedValue != "")
            {
                Packing _Packing = new Packing();

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

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

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

                DataTable dt = Packing_DA.Get_Pairs_SUM_From_Stitching(_Packing);

                if (dt.Rows.Count > 0)
                {
                    txtPairs.Text = dt.Rows[0][0].ToString();
                }
                else
                {
                    txtPairs.Text = "";
                }
            }
        }
        private string Validate_Date(Packing _Packing)
        {
            string msg = "";
            bool flag = false;

            flag = Packing_DA.IsStitchingBeforePacking(_Packing);

            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>();

            Packing _Packing = new Packing();
            if (Order_ID != 0)
                _Packing.Order_ID = Order_ID;
            if (Style_ID != 0)
                _Packing.Style_ID = Style_ID;
            if (Size_ID != 0)
                _Packing.Size_ID = Size_ID;

            DataTable dt = Rejection_DA.Get_Order_From_Stitching_For_Rejection(_Packing);

            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 UpdateStitchingForPacking()
        {
            Packing _Packing = new Packing();
            _Packing.Order_ID = int.Parse(ddlOrderNo.SelectedValue);
            _Packing.Style_ID = int.Parse(ddlStyle.SelectedValue);
            _Packing.Size_ID = int.Parse(ddlSize.SelectedValue);
            int BalancePairs = int.Parse(txtPairs.Text);

            DataTable dt = Packing_DA.Get_Pairs_ANd_ID_From_Stitching(_Packing);

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

                if (pairs >= BalancePairs)
                {
                    Packing_DA.Update_Stitching_By_ID_For_Packing_Pairs(BalancePairs, dt.Rows[i][0].ToString());
                    BalancePairs = 0;

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

            }
        }
        public Packing Get(int Id)
        {
            Packing _Packing = new Packing();

            DataTable dt = Packing_DA.Get_Packing_By_ID(Id);

            foreach (DataRow row in dt.Rows)
            {

                _Packing.Order_ID = int.Parse(row["Order_ID"].ToString());
                _Packing.Style_ID = int.Parse(row["Style_ID"].ToString());
                _Packing.Size_ID = int.Parse(row["Size_ID"].ToString());
                _Packing.Pairs_Packed = int.Parse(row["Pairs_Packed"].ToString());

                _Packing.DateString = Convert.ToDateTime(row["Date"].ToString()).ToString("MM/dd/yyyy");
                _Packing.Description = row["Description"].ToString();

            }
            return _Packing;
        }
        public static bool IsStitchingBeforePacking(Packing _Packing)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_IsStitchingBeforePacking";

            DbParameter param;

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

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

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

            param = command.CreateParameter();
            param.ParameterName = "@Date";
            param.Value = _Packing.Date;
            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;
            }
        }
        public static string InsertPacking(Packing _Packing)
        {
            DbCommand command = Catalog_Access.CreateCommand();
            command.CommandText = "sp_InsertPacking";

            DbParameter param;

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

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

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

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

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

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

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

            param = command.CreateParameter();
            param.ParameterName = "@IsDeleted";
            param.Value = _Packing.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 GetPairs(int Order_ID, int Style_ID, int Size_ID)
        {
            Packing _Packing = new Packing();

            _Packing.Order_ID = Order_ID;
            _Packing.Style_ID = Style_ID;
            _Packing.Size_ID = Size_ID;

            DataTable dt = Packing_DA.Get_Pairs_SUM_From_Stitching(_Packing);

            return dt.Rows[0][0].ToString();
        }