示例#1
0
 private int DeleteTblApproval(TblApproval row)
 {
     using (var context = new WorkFlowManagerDBEntities())
     {
         var oldRow = (from e in context.TblApprovals
                       where e.Iserial == row.Iserial
                       select e).SingleOrDefault();
         if (oldRow != null)
         {
             context.DeleteObject(oldRow);
         }
         context.SaveChanges();
     }
     return(row.Iserial);
 }
示例#2
0
        public void SaveMainRow()
        {
            foreach (var row in MainRowList.Where(x => x.Iserial == 0))
            {
                var isvalid = Validator.TryValidateObject(row,
                                                          new ValidationContext(row, null, null), null, true);

                if (isvalid)
                {
                    var saveRow = new TblApproval();
                    saveRow.InjectFrom(row);

                    //CheckTNA
                    if (saveRow.ApprovalType == 1 && saveRow.ApprovedStatus == 1)
                    {
                        LkpData.LkpDataClient _client = new LkpData.LkpDataClient();
                        _client.CheckTNAAsync(SelectedMainRow.TblSalesOrder, LoggedUserInfo.WFM_UserJob.Value);
                        _client.CheckTNACompleted += (s, sv) =>
                        {
                            if (sv.Result == true)
                            {
                                Client.UpdateOrInsertTblApprovalAsync(saveRow, MainRowList.IndexOf(row), Perm);
                                TempStyleViewModel.Loading = true;
                                Loading = true;
                            }
                            else
                            {
                                MessageBox.Show("Kindly Check TNA");
                            }
                        };
                    }
                    else
                    {
                        Client.UpdateOrInsertTblApprovalAsync(saveRow, MainRowList.IndexOf(row), Perm);
                        TempStyleViewModel.Loading = true;
                        Loading = true;
                    }
                }
            }
        }
示例#3
0
        private TblApproval UpdateOrInsertTblApproval(TblApproval newRow, int index, int perm, out int outindex, out decimal?tempprice, out float?tempCost)
        {
            tempprice = 0;
            tempCost  = 0;
            outindex  = index;
            using (var context = new WorkFlowManagerDBEntities())
            {
                //   context.Connection.ConnectionTimeout = 0;
                var oldRow = (from e in context.TblApprovals
                              where e.Iserial == newRow.Iserial
                              select e).SingleOrDefault();
                if (oldRow != null)
                {
                    GenericUpdate(oldRow, newRow, context);
                }
                else
                {
                    context.TblApprovals.AddObject(newRow);
                }
                var salesorder = context.TblSalesOrders.Include("TblStyle1.TblLkpBrandSection1.TblBrandSectionPermissions.TblAuthPermission1").Include("BOMs").FirstOrDefault(x => x.Iserial == newRow.TblSalesOrder);
                if (newRow.ApprovedStatus == (int)Enums.ApprovalStatus.Approved)
                {
                    switch (newRow.ApprovalType)
                    {
                    case 1:
                        salesorder.IsRetailApproved = newRow.ApprovedStatus == 1;
                        break;

                    case 2:
                        salesorder.IsFinancialApproved = newRow.ApprovedStatus == 1;
                        break;

                    case 3:
                        salesorder.IsTechnicalApproved = newRow.ApprovedStatus == 1;
                        break;
                    }
                    var premissions = salesorder.TblStyle1.TblLkpBrandSection1.TblBrandSectionPermissions.FirstOrDefault(x => x.TblAuthPermission == perm && x.BrandCode == salesorder.TblStyle1.Brand);
                    if (salesorder.IsRetailApproved == premissions.Retail && salesorder.IsFinancialApproved == premissions.Financial && salesorder.IsTechnicalApproved == premissions.Technical)
                    {
                        if (salesorder.TblStyle1.tbl_FabricAttriputes == 0)
                        {
                            salesorder.TblStyle1.tbl_FabricAttriputes = 270;
                        }
                        context.SaveChanges();
                        if ((int)Enums.SalesOrderType.AdvancedSampleRequest != salesorder.SalesOrderType)
                        {
                            var postPo = (int)Enums.SalesOrderType.RetailPo == salesorder.SalesOrderType;

                            if ((int)Enums.SalesOrderType.SalesOrderPo == salesorder.SalesOrderType && salesorder.TblStyle1.Brand != "DH" && salesorder.TblStyle1.Brand != "OR" && salesorder.TblStyle1.Brand != "OT")
                            {
                                PostStyleToPo(salesorder.TblStyle, salesorder.Iserial, postPo, newRow.TblAuthUser, out tempprice, out tempCost);
                            }
                            else if ((int)Enums.SalesOrderType.RetailPo == salesorder.SalesOrderType)
                            {
                                PostStyleToPo(salesorder.TblStyle, salesorder.Iserial, postPo, newRow.TblAuthUser, out tempprice, out tempCost);
                            }


                            salesorder.Status = (int)Enums.ApprovalStatus.Approved;

                            if ((int)Enums.SalesOrderType.SalesOrderPo == salesorder.SalesOrderType)
                            {
                                PostBomToAx(salesorder, newRow.TblAuthUser);
                                // var IsSample= isSample(salesorder.SalesOrderCode);

                                CreateEstimatedBom(salesorder);
                            }
                        }
                    }
                }
                else if (newRow.ApprovedStatus == (int)Enums.ApprovalStatus.Canceled)
                {
                    salesorder.Status = (int)Enums.ApprovalStatus.Canceled;
                }
                else if (newRow.ApprovedStatus == (int)Enums.ApprovalStatus.FinalCost)
                {
                    salesorder.Status = (int)Enums.ApprovalStatus.FinalCost;
                }
                context.SaveChanges();
                newRow.TblSalesOrder1 = salesorder;
                return(newRow);
            }
        }