Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }