diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs index b371f3699..2b7e2407f 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs @@ -25,9 +25,9 @@ namespace AYA.SlnSinortModel.DAL.Sinort model.FichaTecnica.ClearProperties(); - if (!Conn.ProyectoNormativo.Any(x => x.IdProyectoNormativo == model.FichaTecnica.IdFichaTecnica)) + if (!Conn.FichaTecnica.Any(x => x.IdFichaTecnica == model.FichaTecnica.IdFichaTecnica)) { - int? Next_id = Conn.ProyectoNormativo.Max(t => (int?)t.IdProyectoNormativo); + int? Next_id = Conn.FichaTecnica.Max(t => (int?)t.IdFichaTecnica); model.FichaTecnica.IdFichaTecnica = (Next_id == null) ? 1 : Next_id.Value + 1; model.FichaTecnica.UsuarioCreacion = model.UserName; model.FichaTecnica.FechaCreacion = DateTime.Now; @@ -41,9 +41,27 @@ namespace AYA.SlnSinortModel.DAL.Sinort Conn.FichaTecnica.Attach(model.FichaTecnica); Conn.Entry(model.FichaTecnica).State = System.Data.Entity.EntityState.Modified; } + + #region Palabras Claves + + //Delete Palbras claves + var PalabrasClaves = Conn.FichaTecnicaPalabraClave.Where(c => c.IdFichaTecnica == model.FichaTecnica.IdFichaTecnica); + + foreach (var PalabraClave in PalabrasClaves) + { + Conn.Entry(PalabraClave).State = EntityState.Deleted; + } + + //Inseert Palbras claves + model.ListaPalabraClave.ToList().ForEach(c => c.IdFichaTecnica = model.FichaTecnica.IdFichaTecnica); + Conn.FichaTecnicaPalabraClave.AddRange(model.ListaPalabraClave); + + #endregion + Conn.SaveChanges(); Conn.Commit(); model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; + } } catch (DbEntityValidationException ex)