public static void Add(Crucero crucero) { crucero.Identificador = crucero.Identificador.ToUpper().Trim(); try { var conn = Repository.GetConnection(); //Inserto la cabina y obtengo el id SqlCommand comando = new SqlCommand(@"INSERT INTO TIRANDO_QUERIES.Crucero(cruc_identificador, cruc_fabricante, cruc_modelo, cruc_activo) VALUES(@identificador, @fabricante, @modelo, @activo) " + "SELECT CAST(scope_identity() AS int)", conn); comando.Parameters.AddWithValue("@identificador", crucero.Identificador); comando.Parameters.Add("@fabricante", SqlDbType.Int); comando.Parameters["@fabricante"].Value = crucero.Fabricante.Cod_Fabricante; comando.Parameters.Add("@modelo", SqlDbType.Int); comando.Parameters["@modelo"].Value = crucero.Modelo_Crucero.Cod_Modelo; crucero.Activo = true; comando.Parameters.Add("@activo", SqlDbType.Bit); comando.Parameters["@activo"].Value = crucero.Activo; int idCrucero = (Int32)comando.ExecuteScalar(); comando.Dispose(); conn.Close(); conn.Dispose(); //Inserto las cabinas en base con el id de cabina CabinaDAO.Add(crucero.Cabinas, idCrucero); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar crear el crucero", ex); } }
public static void Edit(IList <Cabina> cabinas, int idCrucero) { var cabinasAnteriores = CabinaDAO.GetAllForId(idCrucero); var cabinasNuevas = cabinas.Except(cabinasAnteriores).ToList(); CabinaDAO.Add(cabinasNuevas, idCrucero); }