public static void Agregar(SAB_CP_PRODUCTOSPROVEEDORES producto) { using (var trans = new TransactionScope()) { try { using (var db = new SinabEntities()) { //Guarda el productoProceso Agregar(db, producto); //guarda su estado inicial var estado = new SAB_CP_ESTADOSPRODUCTOS() { IdProductoProveedor = producto.Id, estado = 1, Fecha = DateTime.Now, Comentario = "Estado Inicial", usuario = Membresia.ObtenerUsuario().NombreUsuario }; EstadoProductos.Agregar(db, estado); //actualiza contador de productos no certificados ProveedoresProceso.Actualizar(db, producto.SAB_CP_PROVEEDORESPROCESO); } trans.Complete(); } catch (Exception ex) { throw new Exception(ex.Message); } } }
public static List <BaseProductosProveedores> ObtenerTodosPorDesc(int idProveedoresProceso, decimal idProceso, string text) { using (var db = new SinabEntities()) { var res = (from pp in db.SAB_CP_PRODUCTOSPROVEEDORES where pp.IdProveedorProceso == idProveedoresProceso && pp.IdProceso == idProceso join vv in db.vv_CATALOGOPRODUCTOS on pp.IdProducto equals vv.IDPRODUCTO join pa in db.SAB_CP_CAT_PAIS on pp.IdPais equals pa.IdPais into grp from itm in grp.DefaultIfEmpty() where vv.DESCLARGO.Contains(text) select new BaseProductosProveedores { IdProducto = pp.IdProducto, Id = pp.Id, CorrProducto = vv.CORRPRODUCTO, DescLargo = vv.DESCLARGO, Marca = pp.Marca, Pais = itm != null ? itm.Nombre : "" }).ToList(); foreach (var itm in res) { //obtiene el último estado var es = EstadoProductos.Obtener(db, itm.Id); if (es != null) { itm.Estado = es.estado ?? 1; itm.Certificado = es.estado == 0 ? "Certificado" : "No Certificado"; } else { itm.Estado = 1; itm.Certificado = "No Certificado"; } } return(res); } }