public string Cancel(DInput input) { string resp = ""; SqlConnection SqlCon = new SqlConnection(); try { SqlCon.ConnectionString = Conection.cn; SqlCon.Open(); SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.CommandText = "spcancel_input"; SqlCmd.CommandType = CommandType.StoredProcedure; //Initialize variables SqlParameter ParId = new SqlParameter(); ParId.ParameterName = "@idinput"; //same name as in the procedure ParId.SqlDbType = SqlDbType.Int; ParId.Value = input.IdInput; SqlCmd.Parameters.Add(ParId); //Execute the command resp = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "Cancelation not done"; } catch (Exception ex) { resp = "Something went wrong: " + ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(resp); }
public string Insert(DInput Input, List <DDetail_Input> Details) { string resp = ""; SqlConnection SqlCon = new SqlConnection(); try { SqlCon.ConnectionString = Conection.cn; SqlCon.Open(); SqlTransaction sqlTra = SqlCon.BeginTransaction(); SqlCommand SqlCmd = new SqlCommand(); SqlCmd.Connection = SqlCon; SqlCmd.Transaction = sqlTra; SqlCmd.CommandText = "spinsert_inputproduct"; SqlCmd.CommandType = CommandType.StoredProcedure; //Initialize variables SqlParameter ParId = new SqlParameter(); ParId.ParameterName = "@idinput"; ParId.SqlDbType = SqlDbType.Int; ParId.Direction = ParameterDirection.Output; SqlCmd.Parameters.Add(ParId); SqlParameter ParStaff = new SqlParameter(); ParStaff.ParameterName = "@idstaff"; ParStaff.SqlDbType = SqlDbType.Int; ParStaff.Value = Input.IdStaff; SqlCmd.Parameters.Add(ParStaff); SqlParameter ParSupplier = new SqlParameter(); ParSupplier.ParameterName = "@idsupplier"; ParSupplier.SqlDbType = SqlDbType.Int; ParSupplier.Value = Input.IdSupplier; SqlCmd.Parameters.Add(ParSupplier); SqlParameter ParDate = new SqlParameter(); ParDate.ParameterName = "@date"; ParDate.SqlDbType = SqlDbType.DateTime; ParDate.Value = Input.DateInput; SqlCmd.Parameters.Add(ParDate); SqlParameter ParType = new SqlParameter(); ParType.ParameterName = "@type"; ParType.SqlDbType = SqlDbType.VarChar; ParType.Size = 20; ParType.Value = Input.TypeDoc; SqlCmd.Parameters.Add(ParType); SqlParameter ParSerie = new SqlParameter(); ParSerie.ParameterName = "@serie"; ParSerie.SqlDbType = SqlDbType.VarChar; ParSerie.Size = 40; ParSerie.Value = Input.SerieDoc; SqlCmd.Parameters.Add(ParSerie); SqlParameter ParCorelative = new SqlParameter(); ParCorelative.ParameterName = "@corelativ"; ParCorelative.SqlDbType = SqlDbType.VarChar; ParCorelative.Size = 7; ParCorelative.Value = Input.Corelativ; SqlCmd.Parameters.Add(ParCorelative); SqlParameter ParVat = new SqlParameter(); ParVat.ParameterName = "@vat"; ParVat.SqlDbType = SqlDbType.Decimal; ParVat.Precision = 4; ParVat.Scale = 2; ParVat.Value = Input.Vat; SqlCmd.Parameters.Add(ParVat); SqlParameter ParCurrentStatus = new SqlParameter(); ParCurrentStatus.ParameterName = "@currentstatus"; ParCurrentStatus.SqlDbType = SqlDbType.VarChar; ParCurrentStatus.Size = 7; ParCurrentStatus.Value = Input.CurrentStatus; SqlCmd.Parameters.Add(ParCurrentStatus); //Execute the command resp = SqlCmd.ExecuteNonQuery() == 1 ? "OK" : "Not Inserted"; if (resp.Equals("OK")) { //Obtain the input code id that was generated this.IdInput = Convert.ToInt32(SqlCmd.Parameters["@idinput"].Value); foreach (DDetail_Input det in Details) { det.IdInput = this.IdInput; //call insert method from details input resp = det.Insert(det, ref SqlCon, ref sqlTra); if (!resp.Equals("OK")) { break; } } } if (resp.Equals("OK")) { //Just when we use the commit is when all data are saved sqlTra.Commit(); } else { sqlTra.Rollback(); //cancel everything } } catch (Exception ex) { resp = "Something went wrong: " + ex.Message; } finally { if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } } return(resp); }