コード例 #1
0
        private void LoadKit(KitAssembly kit)
        {
            View.StkEdit.Visibility   = Visibility.Visible;
            View.StkNewKit.Visibility = Visibility.Collapsed;
            View.Model.Record         = kit;
            CleanComponentSection();
            //View.LvFormula.Items.Refresh();
            View.Model.FormulaList = service.GetKitAssemblyFormula(new
                                                                   KitAssemblyFormula {
                KitAssembly = new KitAssembly {
                    Product = View.Model.Record.Product
                }
            });

            // si el KIT es ERP no es editable
            // CAA [2010/06/24]
            // Pero si puede borrarse.
            if (kit.AsmType == KitType.ERP)
            {
                View.BrdComponent.Visibility = Visibility.Collapsed;
                View.BtnRemove.Visibility    = Visibility.Collapsed;
                View.BtnDelete.Visibility    = Visibility.Visible;
            }
            else
            {
                View.BrdComponent.Visibility = Visibility.Visible;
                View.BtnDelete.Visibility    = Visibility.Visible;
                View.BtnRemove.Visibility    = Visibility.Visible;
            }
        }
コード例 #2
0
        public IList <KitAssembly> Select(KitAssembly data, int showRegs)
        {
            IList <KitAssembly> datos = new List <KitAssembly>();

            /*
             *  datos = GetHsql(data).List<KitAssembly>();
             *  if (!Factory.IsTransactional)
             *      Factory.Commit();
             *  return datos;
             */
            try
            {
                if (showRegs > 0)
                {
                    datos = GetHsql(data).SetMaxResults(showRegs).List <KitAssembly>();
                }
                else
                {
                    datos = GetHsql(data).List <KitAssembly>();
                }

                if (!Factory.IsTransactional)
                {
                    Factory.Commit();
                }
            }

            catch (Exception e)
            {
                NHibernateHelper.WriteEventLog(WriteLog.GetTechMessage(e));
            }


            return(datos);
        }
コード例 #3
0
        private void ProcessKitAssembly(IList <KitAssembly> list, Company company)
        {
            if (list == null)
            {
                return;
            }

            KitAssembly curRecord = null;


            foreach (KitAssembly e in list)
            {
                try
                {
                    curRecord         = new KitAssembly();
                    curRecord.Product = e.Product;
                    //Evalua si el elemento ya existe
                    IList <KitAssembly> exList = Factory.DaoKitAssembly().Select(curRecord, 0);

                    e.ModDate    = DateTime.Now;
                    e.ModifiedBy = WmsSetupValues.SystemUser;

                    if (exList.Count == 0)
                    {
                        e.CreatedBy    = WmsSetupValues.SystemUser;
                        e.CreationDate = DateTime.Now;
                        Factory.DaoKitAssembly().Save(e);
                    }
                    else
                    {
                        e.RowID        = exList.First().RowID;
                        e.CreatedBy    = exList.First().CreatedBy;
                        e.CreationDate = exList.First().CreationDate;
                        Factory.DaoKitAssembly().Update(e);
                    }


                    //Elimna las formulas para ese producto y las crea de nuevo
                    foreach (KitAssemblyFormula kaf in Factory.DaoKitAssemblyFormula()
                             .Select(new KitAssemblyFormula {
                        KitAssembly = new KitAssembly {
                            Product = new Product {
                                ProductID = e.Product.ProductID
                            }
                        }
                    }))
                    {
                        Factory.DaoKitAssemblyFormula().Delete(kaf);
                    }


                    //Procesa el assembly Formula que le corresponde
                    // CAA [2010/07/19]
                    // condición busqueda kit padre
                    string query = "";
                    switch (company.ErpConnection.ConnectionType.RowID)
                    {
                    case CnnType.GPeConnect:
                        query = " ITEMNMBR = '" + e.Product.ProductCode + "' ";
                        break;

                    case CnnType.Everest:
                        query = " KIT_CODE = '" + e.Product.ProductCode + "' ";
                        break;

                    case CnnType.UnoEE:
                        query = " (formula.f134_id_cia = " + e.Product.Company.ErpCode + ") AND  itmPadre.f120_id  = '" + e.Product.ProductCode + "'";
                        break;

                    default:
                        query = "";
                        break;
                    }
                    ProcessKitAssemblyFormula(ErpFactory.References().GetKitAssemblyFormula(query));
                }
                catch (Exception ex)
                {
                    //Factory.Rollback();
                    ExceptionMngr.WriteEvent("ProcessKitAssembly:" + curRecord.Product.ProductCode, ListValues.EventType.Fatal, ex, null, ListValues.ErrorCategory.Business);
                    //throw;
                }
            }
        }
コード例 #4
0
        public override IQuery GetHsql(Object data)
        {
            StringBuilder sql    = new StringBuilder("select a from KitAssembly a where  ");
            KitAssembly   kitasm = (KitAssembly)data;

            if (kitasm != null)
            {
                Parms = new List <Object[]>();

                if (kitasm.RowID != 0)
                {
                    sql.Append(" a.RowID = :idx     and   ");
                    Parms.Add(new Object[] { "idx", kitasm.RowID });
                }

                if (kitasm.Product != null)
                {
                    if (kitasm.Product.ProductID != 0)
                    {
                        sql.Append(" a.Product.ProductID = :id     and   ");
                        Parms.Add(new Object[] { "id", kitasm.Product.ProductID });
                    }


                    if (!String.IsNullOrEmpty(kitasm.Product.Name))
                    {
                        sql.Append(" a.Product.Name LIKE :idN  OR (a.Product.ProductCode LIKE :idN OR a.Product.Name LIKE :idN )   and   ");
                        Parms.Add(new Object[] { "idN", "%" + kitasm.Product.Name + "%" });
                    }

                    //if (!String.IsNullOrEmpty(kitasm.Product.ProductCode))
                    //{
                    //    sql.Append(" (a.Product.ProductCode LIKE :idpc OR a.Product.Name LIKE :idpc )  and   ");
                    //    Parms.Add(new Object[] { "idpc", "%" + kitasm.Product.ProductCode + "%" });
                    //}

                    if (!String.IsNullOrEmpty(kitasm.Product.ProductCode))
                    {
                        sql.Append(" a.Product.ProductCode = :idpc  and   ");
                        Parms.Add(new Object[] { "idpc", kitasm.Product.ProductCode });
                    }


                    if (kitasm.Product.Company != null && kitasm.Product.Company.CompanyID != 0)
                    {
                        sql.Append(" a.Product.Company.CompanyID = :idCia    and   ");
                        Parms.Add(new Object[] { "idCia", kitasm.Product.Company.CompanyID });
                    }
                }


                if (kitasm.AsmType != 0)
                {
                    sql.Append(" a.AsmType = :id1     and   ");
                    Parms.Add(new Object[] { "id1", kitasm.AsmType });
                }


                if (kitasm.Status != null && kitasm.Status.StatusID != 0)
                {
                    sql.Append(" a.Status.StatusID = :id3     and   ");
                    Parms.Add(new Object[] { "id3", kitasm.Status.StatusID });
                }

                if (kitasm.Method != 0)
                {
                    sql.Append(" a.Method = :id2     and   ");
                    Parms.Add(new Object[] { "id2", kitasm.Method });
                }

                if (kitasm.Unit != null && kitasm.Unit.UnitID != 0)
                {
                    sql.Append(" a.Unit.UnitID = :id4     and   ");
                    Parms.Add(new Object[] { "id4", kitasm.Unit.UnitID });
                }

                if (kitasm.ObsoleteDate != null)
                {
                    sql.Append(" a.ObsoleteDate = :id5     and   ");
                    Parms.Add(new Object[] { "id5", kitasm.ObsoleteDate });
                }


                if (kitasm.EfectiveDate != null)
                {
                    sql.Append(" a.EfectiveDate = :id6    and   ");
                    Parms.Add(new Object[] { "id6", kitasm.EfectiveDate });
                }

                if (kitasm.IsFromErp != null)
                {
                    sql.Append(" a.IsFromErp = :ie11     and   ");
                    Parms.Add(new Object[] { "ie11", kitasm.IsFromErp });
                }
            }

            sql = new StringBuilder(sql.ToString());
            sql.Append(" 1=1 order by a.Product.ProductID asc ");
            IQuery query = Factory.Session.CreateQuery(sql.ToString());

            SetParameters(query);
            return(query);
        }
コード例 #5
0
 public KitAssembly SelectById(KitAssembly data)
 {
     return((KitAssembly)base.SelectById(data));
 }
コード例 #6
0
 public Boolean Update(KitAssembly data)
 {
     return(base.Update(data));
 }
コード例 #7
0
 public Boolean Delete(KitAssembly data)
 {
     return(base.Delete(data));
 }
コード例 #8
0
 public void DeleteKitAssembly(KitAssembly data)
 {
     try
     {
         SetService(); SerClient.DeleteKitAssembly(data);
     }
     finally
     {
         SerClient.Close();
         if (SerClient.State == CommunicationState.Faulted)
             SerClient.Abort();
     }
 }
コード例 #9
0
 public KitAssembly Save(KitAssembly data)
 {
     return((KitAssembly)base.Save(data));
 }
コード例 #10
0
 public KitAssembly SaveKitAssembly(KitAssembly data)
 {
     try
     {
         SetService(); return SerClient.SaveKitAssembly(data);
     }
     finally
     {
         SerClient.Close();
         if (SerClient.State == CommunicationState.Faulted)
             SerClient.Abort();
     }
 }
コード例 #11
0
 public IList<KitAssembly> GetKitAssembly(KitAssembly data, int showRegs)
 {
     try
     {
         SetService();
         return SerClient.GetKitAssembly(data, showRegs);
     }
     finally
     {
         SerClient.Close();
         if (SerClient.State == CommunicationState.Faulted)
             SerClient.Abort();
     }
 }
コード例 #12
0
        private IList <KitAssembly> GetKitAssembly(string sWhere)
        {
            //retorna la lista de Kits Headers

            try
            {
                Command.Connection = new SqlConnection(CurCompany.ErpConnection.CnnString);

                // BM00101 - KitAssemblyHeader
                //DataSet ds = ReturnDataSet("SELECT * FROM BM00101 WHERE Bill_Status = 1 A", sWhere, "BM00101", Command.Connection);
                DataSet ds = ReturnDataSet("select b.* from BM00101 b LEFT OUTER JOIN SY03900 s ON s.NOTEINDX = b.NOTEINDX  WHERE CAST(ISNULL(TXTFIELD,'') AS VARCHAR(50)) <> 'NOTINWMS'", sWhere, "BM00101", Command.Connection);


                if (ds == null || ds.Tables.Count == 0)
                {
                    return(null);
                }

                List <KitAssembly> list   = new List <KitAssembly>();
                Status             status = WType.GetStatus(new Status {
                    StatusID = EntityStatus.Active
                });


                KitAssembly tmpData = null;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    try
                    {
                        //Map Properties
                        tmpData = new KitAssembly();

                        tmpData.Product = WType.GetProduct(new Product {
                            Company = CurCompany, ProductCode = dr["ITEMNMBR"].ToString()
                        });;
                        tmpData.Unit = WType.GetUnit(new Unit {
                            ErpCode = dr["UOFM"].ToString(), ErpCodeGroup = tmpData.Product.BaseUnit.ErpCodeGroup
                        });
                        tmpData.AsmType      = 2;
                        tmpData.Status       = status;
                        tmpData.EfectiveDate = DateTime.Parse(dr["Effective_Date"].ToString());
                        tmpData.ObsoleteDate = DateTime.Parse(dr["Obsolete_Date"].ToString());
                        tmpData.IsFromErp    = true;

                        list.Add(tmpData);
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            ExceptionMngr.WriteEvent("GetKitAssembly:" + tmpData.Product.ProductCode, ListValues.EventType.Error, ex, null,
                                                     ListValues.ErrorCategory.ErpConnection);
                        }
                        catch { }

                        //return null;
                    }
                }

                return(list);
            }
            catch (Exception ex)
            {
                ExceptionMngr.WriteEvent("GetKitAssembly Connection", ListValues.EventType.Error, ex, null,
                                         ListValues.ErrorCategory.ErpConnection);

                return(null);
            }
        }
コード例 #13
0
        private IList <KitAssembly> GetKitAssembly(string sWhere)
        {
            //retorna la lista de Kits Headers

            try
            {
                Command.Connection = new SqlConnection(CurCompany.ErpConnection.CnnString);

                Query = " select DISTINCT KIT_CODE from X_KIT WHERE DESC_TYPE=1 ";
                DataSet ds = ReturnDataSet(Query, sWhere, "X_KIT", Command.Connection);


                if (ds == null || ds.Tables.Count == 0)
                {
                    return(null);
                }

                List <KitAssembly> list   = new List <KitAssembly>();
                Status             status = WType.GetStatus(new Status {
                    StatusID = EntityStatus.Active
                });


                KitAssembly tmpData = null;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    try
                    {
                        //Map Properties
                        tmpData = new KitAssembly();

                        tmpData.Product = WType.GetProduct(new Product {
                            Company = CurCompany, ProductCode = dr["KIT_CODE"].ToString()
                        });;
                        tmpData.Unit         = tmpData.Product.BaseUnit;
                        tmpData.AsmType      = 2;
                        tmpData.Status       = status;
                        tmpData.EfectiveDate = DateTime.Now;
                        tmpData.ObsoleteDate = DateTime.Now;
                        tmpData.IsFromErp    = true;

                        list.Add(tmpData);
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            ExceptionMngr.WriteEvent("GetKitAssembly:" + tmpData.Product.ProductCode, ListValues.EventType.Error, ex, null,
                                                     ListValues.ErrorCategory.ErpConnection);
                        }
                        catch { }

                        //return null;
                    }
                }

                return(list);
            }
            catch (Exception ex)
            {
                ExceptionMngr.WriteEvent("GetKitAssembly Connection", ListValues.EventType.Error, ex, null,
                                         ListValues.ErrorCategory.ErpConnection);

                return(null);
            }
        }
コード例 #14
0
 public KitAssembly GetKitAssembly(KitAssembly data)
 {
     return(Factory.DaoKitAssembly().Select(data, 0).First());
 }