Estimados, cree un procedimiento en la version 1.10.0.3 para el formulario de evaluación de desempeño de forma masiva, al momento de hacer la evaluación lo muestra y se puede hace el calculo de bien, pero cuando cambio de opción y luego quiero volver a la opción de donde llené el formulario me lanza el siguiente mensaje:
System.InvalidOperationException: La secuencia no contiene ningún elemento coincidente
en System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
en Aseinfo.VH4.EvaluacionDesempenio.Controllers.EvaluacionDesempenioController.OnFormularioDinamicoReadingData(Object sender, FormularioDinamicoDataReadingEventArgs e) en c:\BuildAgent\work\89066541112bb801\VH4\EvaluacionDesempenio\Controllers\EvaluacionDesempenioController.cs:línea 2529
en Aseinfo.VH4.General.Services.FormularioDinamicoService.GetFormularioDinamicoDataViewModel(Int32 codigoInstancia, List`1 parametros) en c:\BuildAgent\work\89066541112bb801\VH4\General\Services\FormulariosDinamicos\FormularioDinamicoService.cs:línea 115
en Aseinfo.VH4.General.Controllers.FormularioDinamicoControllerBase.GetFormulario(Int32 codigoFormulario, Nullable`1 codigoInstanciaFormulario, List`1 parametros, List`1 parametrosValueLists, Boolean enAnalisis, Boolean readonly, String prefixElementsName) en c:\BuildAgent\work\89066541112bb801\VH4\General\Controllers\FormularioDinamicoControllerBase.cs:línea 80
en Aseinfo.VH4.EvaluacionDesempenio.Controllers.EvaluacionDesempenioController.ObtenerFormulario(Int32 codigoFormulario, Nullable`1 codigoInstanciaFormulario, List`1 parametros, List`1 parametrosValueLists, Boolean esPortal, Boolean readonly) en c:\BuildAgent\work\89066541112bb801\VH4\EvaluacionDesempenio\Controllers\EvaluacionDesempenioController.cs:línea 2504
en Aseinfo.VH4.EvaluacionDesempenio.Controllers.EvaluacionDesempenioController.GetFormularioPortal(Int32 codigoFormulario, Nullable`1 codigoInstanciaFormulario, List`1 parametros, List`1 parametrosValueLists, Boolean readonly) en c:\BuildAgent\work\89066541112bb801\VH4\EvaluacionDesempenio\Controllers\EvaluacionDesempenioController.cs:línea 1090
en lambda_method(Closure , ControllerBase , Object[] )
en System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
en System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
en System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
en System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult)
en System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
en System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
El procedimiento es el siguiente:
IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID('[eva].[gfm_genera_formulario_masivo]') AND type='P')
DROP PROCEDURE [eva].[gfm_genera_formulario_masivo]
GO
--exec eva.gfm_genera_formulario_masivo 1,5,'bryan_menendez'
CREATE PROCEDURE [eva].[gfm_genera_formulario_masivo]
@codcia INT,
@codpev INT,
@user VARCHAR(36)
AS
BEGIN
DECLARE
@0 varchar(4000),@1 varchar(4000),@2 bit,@3 int,@4 varchar(50),@5 varchar(50),@6 datetime2(7),
@identity INT --, @codpev int = 1
DECLARE @fdi_codigo INT, @esquema_codigo int, @contador int = 0
--SELECT @fdi_codigo = fdi_codigo
-- FROM gen.fdi_formulario_dinamico
--WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
-- AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev) AND fdi_tipo = 'EvaluacionDesempenio'
DELETE FROM [gen].[cdd_campo_dinamico_data] WHERE cdd_codcfd IN (SELECT cfd_codigo
FROM gen.cfd_campo_form_dinamico
WHERE cfd_codfdi in (SELECT fdi_codigo = fdi_codigo
FROM gen.fdi_formulario_dinamico
WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev)
AND fdi_tipo = 'EvaluacionDesempenio'))
DELETE FROM [gen].[fdd_form_dinamico_data] WHERE fdd_codfdi in (SELECT fdi_codigo = fdi_codigo
FROM gen.fdi_formulario_dinamico
WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev)
AND fdi_tipo = 'EvaluacionDesempenio')
DELETE FROM [gen].[vcd_valores_campos_din] WHERE vcd_codcfd IN (SELECT cfd_codigo FROM gen.cfd_campo_form_dinamico WHERE cfd_codfdi in (SELECT fdi_codigo = fdi_codigo
FROM gen.fdi_formulario_dinamico
WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev)
AND fdi_tipo = 'EvaluacionDesempenio'))
DELETE FROM [gen].[cfd_campo_form_dinamico] WHERE cfd_codfdi in (SELECT fdi_codigo = fdi_codigo
FROM gen.fdi_formulario_dinamico
WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev) AND fdi_tipo = 'EvaluacionDesempenio')
DELETE FROM [gen].[gcf_grupo_campo_dinamico] WHERE gcf_codfdi in (SELECT fdi_codigo = fdi_codigo
FROM gen.fdi_formulario_dinamico
WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev) AND fdi_tipo = 'EvaluacionDesempenio')
UPDATE eva.esq_esquemas
SET esq_codfdi = NULL
WHERE esq_codpev = @codpev
DELETE FROM [gen].[fdi_formulario_dinamico] WHERE fdi_codigo in (SELECT fdi_codigo = fdi_codigo
FROM gen.fdi_formulario_dinamico
WHERE fdi_nombre = '{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}'
AND fdi_descripcion = 'Evaluación periodo ' + convert(varchar,@codpev) AND fdi_tipo = 'EvaluacionDesempenio')
DECLARE C_CURSOR CURSOR FOR
SELECT distinct pue_codncc
from eva.esq_esquemas
join eor.pue_puestos on pue_codigo = esq_codpue
where esq_codpev = @codpev
open c_cursor
fetch next from c_cursor into @esquema_codigo
while @@FETCH_STATUS = 0
begin
SELECT @0='{NombreSeccionEvaluacionCompetencias, EvaluacionDesempenio}',
@1='Evaluación periodo ' + convert(varchar,@codpev),
@2=0,
@3=1,
@4='EvaluacionDesempenio',
@5=@user,
@6=GETDATE()
INSERT [gen].[fdi_formulario_dinamico]([fdi_nombre], [fdi_descripcion], [fdi_llenado_anonimo], [fdi_codgrc], [fdi_tipo], [fdi_usuario_grabacion], [fdi_fecha_grabacion], [fdi_usuario_modificacion], [fdi_fecha_modificacion])
VALUES (@0, @1, @2, @3, @4, @5, @6, NULL, NULL)
SET @identity = @@IDENTITY
--select * FROM gen.fdi_formulario_dinamico WHERE fdi_codigo = @identity
UPDATE [eva].[esq_esquemas]
SET [esq_debe_reg_form] = 0, [esq_codfdi] = @identity, [esq_usuario_modificacion] = @user, [esq_fecha_modificacion] = getdate()
from eva.esq_esquemas
join eor.pue_puestos on pue_codigo = esq_codpue
WHERE [esq_codpev] = @codpev
and pue_codncc = @esquema_codigo
--select * FROM eva.esq_esquemas where esq_codpev = @codpev
INSERT [gen].[gcf_grupo_campo_dinamico]([gcf_peso], [gcf_nombre], [gcf_descripcion], [gcf_codgcf], [gcf_codfdi], [gcf_orden], [gcf_usuario_grabacion], [gcf_fecha_grabacion], [gcf_usuario_modificacion], [gcf_fecha_modificacion])
SELECT DISTINCT 0,fac_grupo,null,NULL, @identity,0,@user,GETDATE(),NULL,NULL
FROM eva.feq_factores_esquema
JOIN eva.esq_esquemas ON esq_esquemas.esq_codigo = feq_factores_esquema.feq_codesq
JOIN eva.fac_factores ON fac_factores.fac_codigo = feq_factores_esquema.feq_codfac
join eor.pue_puestos on pue_codigo = esq_codpue
WHERE esq_codpev = @codpev
and pue_codncc = @esquema_codigo
--select * FROM gen.gcf_grupo_campo_dinamico WHERE gcf_codfdi = @identity
INSERT [gen].[gcf_grupo_campo_dinamico]([gcf_peso], [gcf_nombre], [gcf_descripcion], [gcf_codgcf], [gcf_codfdi], [gcf_orden], [gcf_usuario_grabacion], [gcf_fecha_grabacion], [gcf_usuario_modificacion], [gcf_fecha_modificacion])
SELECT feq_peso,fac_nombre,fac_descripcion,
(SELECT gcf_codigo FROM gen.gcf_grupo_campo_dinamico WHERE gcf_nombre = fac_grupo AND gcf_codfdi = @identity),
@identity,ROW_NUMBER() OVER(ORDER BY fac_nombre),@user,GETDATE(),NULL,NULL
from (
select distinct feq_peso,fac_grupo,fac_descripcion,fac_nombre
FROM eva.feq_factores_esquema
JOIN eva.esq_esquemas ON esq_esquemas.esq_codigo = feq_factores_esquema.feq_codesq
JOIN eva.fac_factores ON fac_factores.fac_codigo = feq_factores_esquema.feq_codfac
JOIN eva.rub_rubros ON rub_rubros.rub_codfac = fac_factores.fac_codigo
join eor.pue_puestos on pue_codigo = esq_codpue
WHERE esq_codpev = @codpev
and pue_codncc = @esquema_codigo
)a
--select * FROM gen.gcf_grupo_campo_dinamico WHERE gcf_codfdi = @identity
--alter table gen.gcf_grupo_campo_dinamico add gcf_nombre_rubro varchar(500)
INSERT [gen].[cfd_campo_form_dinamico]([cfd_fieldname], [cfd_prompt_loc_key], [cfd_descripcion_loc_key], [cfd_orden], [cfd_requerido], [cfd_regex], [cfd_regex_msg_loc_key],
[cfd_peso], [cfd_inicio_rango_escala], [cfd_loc_key_ini_rango_esc], [cfd_fin_rango_escala], [cfd_loc_key_fin_rango_esc], [cfd_codgcf], [cfd_codfdi], [cfd_tipo_control], [cfd_codvli], [cfd_usuario_grabacion], [cfd_fecha_grabacion], [cfd_usuario_modificacion], [cfd_fecha_modificacion],
[cfd_codrub])
SELECT ROW_NUMBER() OVER(ORDER BY gcf_codigo),
gra_descripcion,NULL,ROW_NUMBER() OVER(ORDER BY gcf_codigo),0,NULL,NULL,0,NULL,NULL,NULL,NULL,
gcf_codigo,gcf_codfdi,'Radio',NULL,@user,GETDATE(),NULL,NULL,rub_codigo
from
(
select rub_descripcion gra_descripcion,gcf_codigo,gcf_codfdi ,rub_codigo
FROM gen.gcf_grupo_campo_dinamico
JOIN eva.fac_factores ON fac_nombre = gcf_nombre
JOIN eva.rub_rubros ON rub_codfac = fac_codigo
--JOIN eva.gra_grados ON gra_grados.gra_codrub = rub_rubros.rub_codigo
WHERE gcf_codfdi = @identity
AND gcf_nombre NOT IN (SELECT DISTINCT fac_grupo FROM eva.fac_factores WHERE fac_codpev = @codpev)
)a
--select * FROM [gen].[cfd_campo_form_dinamico] WHERE cfd_codfdi = @identity order by cfd_codgcf
--declare @rubro varchar(1000),@cfd_codigo int
--declare c_rub cursor for
--select distinct rub_descripcion,cfd_codigo
-- from eva.rub_rubros
-- join gen.cfd_campo_form_dinamico on cfd_prompt_loc_key = rub_descripcion
--where cfd_codfdi = @identity
--open c_rub
--fetch next from c_rub into @rubro,@cfd_codigo
--while @@FETCH_STATUS = 0
--begin
INSERT [gen].[vcd_valores_campos_din]([vcd_nombre_opcion_loc_key], [vcd_nota], [vcd_codcfd])
select gra_descripcion,gra_codigo,cfd_codigo
from [gen].[cfd_campo_form_dinamico]
join eva.rub_rubros on rub_codigo = cfd_codrub
join eva.gra_grados on gra_codrub = rub_codigo
where cfd_codfdi = @identity
-- fetch next from c_rub into @rubro,@cfd_codigo
-- end
-- close c_rub
-- deallocate c_rub
fetch next from c_cursor into @esquema_codigo
end
close c_cursor
deallocate c_cursor
--select *
-- FROM gen.vcd_valores_campos_din WHERE vcd_codcfd IN (SELECT cfd_codigo FROM [gen]. [cfd_campo_form_dinamico] WHERE cfd_codfdi = @identity)
--ORDER BY vcd_codcfd
END
Alguien me puede ayudar a saber a que se debe ese error.