コード例 #1
0
        public void SaveDetailRow()
        {
            if (SelectedDetailRow != null)
            {
                var valiationCollection = new List <ValidationResult>();

                var isvalid = Validator.TryValidateObject(SelectedDetailRow, new ValidationContext(SelectedDetailRow, null, null), valiationCollection, true);

                if (isvalid)
                {
                    var rowToSave = new TblTransferDetail();
                    rowToSave.InjectFrom(SelectedDetailRow);
                    WarehouseClient.UpdateOrInsertTransferDetailAsync(rowToSave, SelectedMainRow.TblTransferDetails.IndexOf(SelectedDetailRow));
                }
            }
        }
コード例 #2
0
        private TblTransferDetail DeleteTransferDetail(TblTransferDetail row)
        {
            using (var context = new WorkFlowManagerDBEntities())
            {
                var oldRow = (from e in context.TblTransferDetails
                              where e.Iserial == row.Iserial
                              select e).SingleOrDefault();
                if (oldRow != null)
                {
                    context.DeleteObject(oldRow);
                }

                context.SaveChanges();
            }
            return(row);
        }
コード例 #3
0
        public void SaveMainRow()
        {
            if (SelectedMainRow != null)
            {
                var valiationCollection = new List <ValidationResult>();

                var isvalid = Validator.TryValidateObject(SelectedMainRow, new ValidationContext(SelectedMainRow, null, null), valiationCollection, true);
                isvalid &= UserWarehouseList.Any(uw =>
                                                 uw.WarehouseIserial == SelectedMainRow.WarehouseFrom ||
                                                 uw.WarehouseIserial == SelectedMainRow.WarehouseTo);
                if (isvalid)
                {
                    var saveRow = new TblTransferHeader()
                    {
                        DocDate        = DateTime.Now,
                        CreatedBy      = 1,
                        CreationDate   = DateTime.Now,
                        Approved       = false,
                        LastChangeDate = DateTime.Now,
                        CodeFrom       = "",
                        CodeTo         = "",
                    };
                    saveRow.InjectFrom(SelectedMainRow);
                    saveRow.TblTransferDetails = new ObservableCollection <TblTransferDetail>();
                    foreach (var item in SelectedMainRow.TblTransferDetails)
                    {
                        var detailTemp = new TblTransferDetail();
                        detailTemp.InjectFrom(item);
                        detailTemp.ItemTransfer = new Web.DataLayer.ItemDimensionSearchModel();
                        saveRow.TblTransferDetails.Add(detailTemp);
                    }

                    var mainRowIndex = MainRowList.IndexOf(SelectedMainRow);
                    if (mainRowIndex < 0)
                    {
                        MainRowList.Insert(mainRowIndex + 1, SelectedMainRow); mainRowIndex++;
                    }
                    WarehouseClient.UpdateOrInsertTransferHeaderAsync(saveRow, mainRowIndex, LoggedUserInfo.Iserial);
                }
                else
                {
                    MessageBox.Show("Please Choose one of your assigned warehouses");
                }
            }
        }
コード例 #4
0
        private TblTransferDetail UpdateOrInsertTransferDetail(TblTransferDetail newRow, int index, out int outindex)
        {
            outindex = index;
            using (var context = new WorkFlowManagerDBEntities())
            {
                var oldRow = (from e in context.TblTransferDetails
                              where e.Iserial == newRow.Iserial
                              select e).SingleOrDefault();
                if (oldRow != null)
                {
                    //context.Entry(oldRow).CurrentValues.SetValues(newRow);
                    SharedOperation.GenericUpdate(oldRow, newRow, context);
                }
                else
                {
                    context.TblTransferDetails.AddObject(newRow);
                }

                context.SaveChanges();
                return(newRow);
            }
        }
コード例 #5
0
        /// <summary>
        /// لازم يكون معاه الهيدر بتاعه
        /// </summary>
        /// <param name="context"></param>
        /// <param name="item"></param>
        private static void GetTransferItemDetails(WorkFlowManagerDBEntities context, TblTransferDetail item)
        {
            // From
            var tempFrom          = context.GetItemDimDetails(item.ItemDimFrom);
            var itemDimFromResult = tempFrom.FirstOrDefault();

            item.ItemTransfer.ItemId   = itemDimFromResult.ItemIserial;
            item.ItemTransfer.ItemName = itemDimFromResult.ItemName;
            item.ItemTransfer.ItemType = itemDimFromResult.ItemType;
            item.ItemTransfer.ItemCode = context.FabricAccSearches.FirstOrDefault(fas =>
                                                                                  fas.Iserial == itemDimFromResult.ItemIserial && fas.ItemGroup == itemDimFromResult.ItemType).Code;
            item.ItemTransfer.TransferredQuantity = Convert.ToDecimal(item.Quantity);

            item.ItemTransfer.ItemDimFromIserial = item.ItemDimFrom;
            item.ItemTransfer.ColorFromId        = itemDimFromResult.ColorIserial;
            item.ItemTransfer.ColorFrom.InjectFrom(context.TblColors.FirstOrDefault(c => c.Iserial == itemDimFromResult.ColorIserial));
            item.ItemTransfer.ColorFromCode   = itemDimFromResult.ColorCode;
            item.ItemTransfer.SizeFrom        = itemDimFromResult.Size;
            item.ItemTransfer.BatchNoFrom     = itemDimFromResult.BatchNo;
            item.ItemTransfer.SiteFromIserial = itemDimFromResult.SiteIserial;

            // TO
            var tempTo          = context.GetItemDimDetails(item.ItemDimTo);
            var itemDimToResult = tempTo.FirstOrDefault();

            item.ItemTransfer.ItemDimToIserial = item.ItemDimTo;
            item.ItemTransfer.ColorToId        = itemDimToResult.ColorIserial;
            item.ItemTransfer.ColorPerRow.InjectFrom(context.TblColors.FirstOrDefault(c => c.Iserial == itemDimToResult.ColorIserial));
            item.ItemTransfer.SizeTo        = itemDimToResult.Size;
            item.ItemTransfer.BatchNoTo     = itemDimToResult.BatchNo;
            item.ItemTransfer.SiteToIserial = itemDimToResult.SiteIserial;

            // From
            string warehouseCodeFrom = context.TblWarehouses.FirstOrDefault(tw =>
                                                                            tw.Iserial == item.TblTransferHeader.WarehouseFrom).Code;
            var itemdimFrom = context.TblItemDims.FirstOrDefault(id => id.Iserial == item.ItemDimFrom);

            item.ItemTransfer.PendingQuantity = GetItemPendingByWarehouse(context, warehouseCodeFrom, itemdimFrom.Iserial);
            if (item.ItemTransfer.ItemType.ToLower().Contains("acc") || item.ItemTransfer.ItemType.ToLower().Contains("fp"))// ده كده اكسيسورى
            {
                item.ItemTransfer.AvailableQuantity = GetItemQuantityByWarehouse(context, warehouseCodeFrom, itemdimFrom.Iserial);
            }
            else// كده قماش
            {
                string itemFromCode = context.FabricAccSearches.FirstOrDefault(fas =>
                                                                               fas.Iserial == itemdimFrom.ItemIserial && fas.ItemGroup == itemdimFrom.ItemType).Code;
                string colorCode = context.TblColors.FirstOrDefault(c => c.Iserial == itemdimFrom.TblColor).Code;
                item.ItemTransfer.AvailableQuantity = WarehouseQuantities.GetAvilableQuantity(
                    warehouseCodeFrom, itemFromCode, colorCode, itemdimFrom.Size, itemdimFrom.BatchNo);
            }


            // To
            string warehouseCodeTo = context.TblWarehouses.FirstOrDefault(tw =>
                                                                          tw.Iserial == item.TblTransferHeader.WarehouseTo).Code;
            var itemdimTo = context.TblItemDims.FirstOrDefault(id => id.Iserial == item.ItemDimTo);

            item.ItemTransfer.PendingToQuantity = GetItemPendingByWarehouse(context, warehouseCodeTo, itemdimTo.Iserial);
            if (item.ItemTransfer.ItemType.ToLower().Contains("acc") || item.ItemTransfer.ItemType.ToLower().Contains("fp"))// ده كده اكسيسورى
            {
                item.ItemTransfer.AvailableToQuantity = GetItemQuantityByWarehouse(context, warehouseCodeTo, itemdimTo.Iserial);
            }
            else// كده قماش
            {
                string itemToCode = context.FabricAccSearches.FirstOrDefault(fas =>
                                                                             fas.Iserial == itemdimTo.ItemIserial && fas.ItemGroup == itemdimTo.ItemType).Code;
                string colorCode = context.TblColors.FirstOrDefault(c => c.Iserial == itemdimTo.TblColor).Code;
                item.ItemTransfer.AvailableToQuantity = WarehouseQuantities.GetAvilableQuantity(
                    warehouseCodeTo, itemToCode, colorCode, itemdimTo.Size, itemdimTo.BatchNo);
            }
        }