/// <summary> /// Crea o actualiza una obra en la base de datos /// </summary> /// <param name="_obra"></param> /// <returns></returns> public static Boolean mergeOrCreate(Obra _obra) { recso2011DBEntities gestor = claseIntercambio.getGestor(); int con = (from e in gestor.Obras where e.recnum == _obra.recnum select e).Count(); if (con > 0) { //actualizar Obra obra = (from e in gestor.Obras where e.recnum == _obra.recnum select e).First(); obra.licenciaMunicipal = _obra.licenciaMunicipal; obra.denominacion = _obra.denominacion; obra.localidad = _obra.localidad; obra.provincia = _obra.provincia; obra.codigoMilena = _obra.codigoMilena; obra.finicioObra = _obra.finicioObra; obra.ffinObra = _obra.ffinObra; } else { //crear nuevo //añadir un nuevo codigo de milena por ser obra nueva _obra.codigoMilena = generarCodigoMilena(); if (_obra.finicioObra == null) { _obra.finicioObra = DateTime.Today.ToShortDateString(); } //guardar la nueva obra gestor.AddToObras(_obra); } gestor.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave); return(true); }