public static Alumno Insertar(string nombre, string apellido, int idTipoDocumento, decimal nroDocumento, DateTime fechaNacimiento, string email, string dirección, Domicilio domicilio, byte estado, char sexo) { using (var db = new SMPorresEntities()) { var trx = db.Database.BeginTransaction(); try { var id = db.Alumnos.Any() ? db.Alumnos.Max(a1 => a1.Id) + 1 : 1; var a = new Alumno { Id = id, Nombre = nombre, Apellido = apellido, IdTipoDocumento = idTipoDocumento, NroDocumento = nroDocumento, FechaNacimiento = fechaNacimiento, EMail = email, Direccion = dirección, IdDomicilio = DomiciliosRepository.ObtenerIdDomicilio(db, domicilio), Estado = estado, Sexo = sexo.ToString() }; db.Alumnos.Add(a); db.SaveChanges(); trx.Commit(); return(a); } catch (Exception) { trx.Rollback(); throw; } } }
public static void Actualizar(decimal id, string nombre, string apellido, int idTipoDocumento, decimal nroDocumento, DateTime fechaNacimiento, string email, string dirección, Domicilio domicilio, byte estado, char sexo) { using (var db = new SMPorresEntities()) { var trx = db.Database.BeginTransaction(); try { if (!db.Alumnos.Any(t => t.Id == id)) { throw new Exception(String.Format("No existe el alumno {0} - {1}, {2}", id, apellido, nombre)); } var a = db.Alumnos.Find(id); a.Nombre = nombre; a.Apellido = apellido; a.IdTipoDocumento = idTipoDocumento; a.NroDocumento = nroDocumento; a.FechaNacimiento = fechaNacimiento; a.EMail = email; a.Direccion = dirección; a.IdDomicilio = DomiciliosRepository.ObtenerIdDomicilio(db, domicilio); a.Estado = estado; if (a.Estado != estado) { a.Estado = estado; } a.Sexo = sexo.ToString(); db.SaveChanges(); trx.Commit(); } catch (Exception) { trx.Rollback(); throw; } } }