Beispiel #1
0
        private void ArmarCertificado(string usuario)
        {
            try
            {
                //Ordenado.
                Cabecera.FecCierre = DateTime.Now;
                Cabecera.UsuCierre = usuario;
                Certificado certificado = new Certificado(this, usuario);

                Certificados.CierreEstimado(certificado, Cabecera);
            }
            catch (Exception ex)
            {
                throw new Exception("ArmarEstimado", ex);
            }
        }
        internal static void CopyToNewOrigen(Certificado certificado, string identifOrigen)
        {
            if (identifOrigen.Trim() != "" && (certificado.Cabecera.IdentifOrigen == null || certificado.Cabecera.IdentifOrigen.Trim() == ""))
            {
                using (SqlTransaction tran = dao.IniciarTransaccion())
                {
                    try
                    {
                        //Genero nuevos registros de certificado, con el origen seleccionado.
                        certificado.Cabecera.RecId         = 0;
                        certificado.Cabecera.IdentifOrigen = identifOrigen;
                        certificado.Lineas.ForEach((o) => o.IdentifOrigen = identifOrigen);
                        certificado.SKUs.ForEach((s) => s.IdentifOrigen = identifOrigen);

                        Create(certificado, tran);

                        dao.CommitTransaccion(tran);
                    }
                    catch (Exception)
                    {
                        dao.RollbackTransaccion(tran);
                        throw;
                    }
                }
            }
        }
        internal static void CierreEstimado(Certificado certificado, EstimadoCabDTO estimadoCab)
        {
            using (SqlTransaction tran = dao.IniciarTransaccion())
            {
                try
                {
                    Create(certificado, tran);

                    daoEstimadoCab.Update(estimadoCab, estimadoCab.RecId, tran);

                    dao.CommitTransaccion(tran);
                }
                catch (Exception)
                {
                    dao.RollbackTransaccion(tran);
                    throw;
                }
            }
        }
        public static Certificado Get(int recId)
        {
            var certificado = new Certificado();

            certificado.Cabecera = Read(recId);

            if (certificado.Cabecera.IdentifOrigen != null)
            {
                certificado.Lineas = daoDetalle.ReadAll(string.Format("PautaId='{0}' AND IdentifOrigen='{1}'", certificado.Cabecera.PautaId, certificado.Cabecera.IdentifOrigen));
                certificado.SKUs = daoSKU.ReadAll(string.Format("PautaId='{0}' AND IdentifOrigen='{1}'", certificado.Cabecera.PautaId, certificado.Cabecera.IdentifOrigen));
            }
            else
            {
                certificado.Lineas = daoDetalle.ReadAll(string.Format("PautaId='{0}' AND IdentifOrigen IS NULL", certificado.Cabecera.PautaId));
                certificado.SKUs = daoSKU.ReadAll(string.Format("PautaId='{0}' AND IdentifOrigen IS NULL", certificado.Cabecera.PautaId));
            }

            return certificado;
        }
        public static void Create(Certificado certificado, SqlTransaction tran)
        {
            try
            {
                dao.Create(certificado.Cabecera, tran);

                foreach (var linea in certificado.Lineas)
                {
                    linea.RecId     = 0;
                    linea.DatareaId = certificado.Cabecera.DatareaId;
                    linea.PautaId   = certificado.Cabecera.PautaId;

                    daoDetalle.Create(linea, tran);
                }

                foreach (var sku in certificado.SKUs)
                {
                    sku.RecId     = 0;
                    sku.DatareaId = certificado.Cabecera.DatareaId;
                    sku.PautaId   = certificado.Cabecera.PautaId;

                    daoSKU.Create(sku, tran);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void ArmarCertificado(string usuario)
        {
            try
            {
                //Ordenado.
                Cabecera.FecCierre      = DateTime.Now;
                Cabecera.UsuCierre      = usuario;
                Certificado certificado = new Certificado(this, usuario);

                Certificados.CierreEstimado(certificado, Cabecera);
            }
            catch (Exception ex)
            {
                throw new Exception("ArmarEstimado", ex);
            }
        }