Ejemplo n.º 1
0
 public void Create(Cotization_refactionFK cotization_refactionFK)
 {
     try
     {
         Database.Connect();
         command = new OdbcCommand
         {
             Connection  = Database.GetConn(),
             CommandType = CommandType.StoredProcedure,
             CommandText = "{call csg.Cotization_refactionFK_Create(?,?,?,?,?)}"
         };
         command.Parameters.Add("CotizationId", OdbcType.VarChar, 50).Value  = cotization_refactionFK.Cotization_id;
         command.Parameters.Add("RefactionCode", OdbcType.VarChar, 50).Value = cotization_refactionFK.Refaction_code;
         command.Parameters.Add("ReplacementOf", OdbcType.VarChar, 50).Value = cotization_refactionFK.Replacementof;
         command.Parameters.Add("Quantity", OdbcType.TinyInt).Value          = cotization_refactionFK.Refaction_quantity;
         command.Parameters.Add("Amount", OdbcType.VarChar, 14).Value        = cotization_refactionFK.Refaction_amount;
         command.ExecuteNonQuery();
         Console.WriteLine("CREATE-> cotization: " + cotization_refactionFK.Cotization_id + " | refaction: " + cotization_refactionFK.Refaction_code);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Excepción controlada en Cotization_refactionFKDAO->Create: " + ex.Message, "Excepción", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     finally
     {
         Database.Disconnect();
     }
 }
Ejemplo n.º 2
0
        public List <Cotization_refactionFK> Read_RefactionsOfCotization(string cotization_id)
        {
            List <Cotization_refactionFK> cotization_Refactions = new List <Cotization_refactionFK>();

            try
            {
                if (!Database.GetConn().State.ToString().Equals("Open"))
                {
                    Database.Connect();
                }
                command = new OdbcCommand
                {
                    Connection  = Database.GetConn(),
                    CommandType = CommandType.StoredProcedure,
                    CommandText = "{call csg.Cotization_refactionFK_ReadRefactionsOfCotization(?)}"
                };
                command.Parameters.Add("CotizationId", OdbcType.VarChar, 50).Value = cotization_id;
                //ejecutamos la lectura del DataReader
                dataReader = command.ExecuteReader();
                while (dataReader.Read())
                {
                    Cotization_refactionFK cotization_RefactionFK = new Cotization_refactionFK
                    {
                        Cotization_id      = cotization_id,
                        Refaction_code     = dataReader.GetString(0),
                        Refaction_quantity = dataReader.GetByte(1),
                        Refaction_amount   = dataReader.GetString(2)
                    };
                    //Refaction refaction = refactionDAO.Read_once(dataReader.GetString(0));
                    //cotization_RefactionFK.Refaction = refaction;
                    //cotization_RefactionFK.Refaction_quantity = ushort.Parse(dataReader.GetInt32(1).ToString());
                    //cotization_RefactionFK.Refaction_amount = dataReader.GetDecimal(2);
                    cotization_Refactions.Add(cotization_RefactionFK);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Excepción controlada en Cotization_refactionFKDAO->Read_RefactionsOfCotization: " + ex.Message, "Excepción", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                Database.Disconnect();
            }
            return(cotization_Refactions);
        }
Ejemplo n.º 3
0
 public void Create(Cotization_refactionFK cotization_RefactionFK)
 {
     DAOFactory.GetCotization_RefactionFKDAO().Create(cotization_RefactionFK);
 }
Ejemplo n.º 4
0
        private void IbtnUpdate_Click(object sender, EventArgs e)
        {
            CultureInfo culture = new CultureInfo("en-US");

            if (ValidateData())
            {
                DateTime   localDate  = DateTime.Now;
                Cotization cotization = new Cotization();
                cotization.Cotization_id = order.Cotization.Cotization_id;
                cotization.Cotization_generation_date = DateTime.Parse(localDate.ToString("yyyy-MM-dd HH:mm:ss"));
                //Calculamos la cantidad de servicios y repuestos
                byte quantity = 0;
                quantity = Convert.ToByte(dts.Rows.Count + dtr.Rows.Count);
                cotization.Cotization_quantity = quantity;
                //Capturamos los comentarios técnicos
                cotization.Cotization_comentarys = txtComentarys.Text;
                //Calculamos el subtotal
                Decimal Dsubtotal = 0m;
                //Obtenemos la suma de los servicios
                for (int i = 0; i < dts.Rows.Count; i++)
                {
                    Service service = serviceLog.Read_once(dts.Rows[i][0].ToString());
                    //Creamos cotization_service (DETALLES)
                    Cotization_serviceFK cotization_ServiceFK = new Cotization_serviceFK
                    {
                        Cotization_id    = order.Cotization.Cotization_id,
                        Service_code     = service.Service_code,
                        Actionof         = txtArticleCode.Text,
                        Service_quantity = Convert.ToByte(dts.Rows[i][2].ToString()),
                    };
                    //Capturamos el costo en string
                    string strCost = service.Service_cost;
                    //Lo convertimos a decimal
                    decimal decCost = decimal.Parse(strCost, culture);
                    //Lo multiplicamos por la cantidad
                    decimal decAmount = decCost * cotization_ServiceFK.Service_quantity;
                    //Lo agregamos al objeto en formato string
                    cotization_ServiceFK.Service_amount = decAmount.ToString().Replace(',', '.');
                    //Lo sumamos en el subtotal
                    Dsubtotal += decAmount;
                    //Creamos el objeto cotization service
                    cotizationServiceLog.Create(cotization_ServiceFK);
                }
                //Obtenemos la suma de los repuestos
                for (int i = 0; i < dtr.Rows.Count; i++)
                {
                    Refaction refaction = refactionLog.Read_once(dtr.Rows[i][0].ToString());
                    //Creamos cotization_refaction (DETALLES)
                    Cotization_refactionFK cotization_RefactionFK = new Cotization_refactionFK
                    {
                        Cotization_id      = order.Cotization.Cotization_id,
                        Refaction_code     = refaction.Refaction_code,
                        Replacementof      = txtArticleCode.Text,
                        Refaction_quantity = Convert.ToByte(dtr.Rows[i][2].ToString()),
                    };
                    //Capturamos el precio unitario en string
                    string strPrice = refaction.Refaction_unit_price;
                    //Lo convertimos a decimal
                    decimal decPrice = decimal.Parse(strPrice, culture);
                    //Lo multiplicamos por la cantidad
                    decimal decAmountr = decPrice * cotization_RefactionFK.Refaction_quantity;
                    //Lo agregamos al objeto en formato string
                    cotization_RefactionFK.Refaction_amount = decAmountr.ToString().Replace(',', '.');
                    //Lo sumamos en el subtotal
                    Dsubtotal += decAmountr;
                    //Creamos el objeto cotization refaction
                    cotizationRefactionLog.Create(cotization_RefactionFK);
                    //subtotal += Decimal.Parse(cotization_RefactionFK.Refaction_amount);
                }
                Console.WriteLine("Subtotal decimal: " + Dsubtotal);
                Console.WriteLine("Subtotal string: " + Dsubtotal.ToString().Replace(',', '.'));
                cotization.Cotization_subtotal = Dsubtotal.ToString().Replace(',', '.');
                //Definimos el descuento->preguntar a EVANS si maneja descuento
                cotization.Cotization_discount = "0";
                //DEfinimos el IVA del subtotal->por ahora se hará con el 19%. pero se debe tener en cuenta el IVA
                //Consultamos el iva codigo 19
                decimal im = taxLog.Read_once_value("19");
                //Calculamos el IVA
                decimal iva = Dsubtotal * im;
                //Agregamos el string del iva al objeto cotization
                cotization.Cotization_iva = iva.ToString().Replace(',', '.');
                decimal total = Dsubtotal + iva;
                cotization.Cotization_total = total.ToString().Replace(',', '.');
                //Agregamos el usuario que la actualizará
                cotization.Update_by = UserCache.UserAccount;
                //Agregamos la fecha de actualizacion
                cotization.Update_date = cotization.Cotization_generation_date;
                //Actualizamos la cotización
                cotizationLog.Update(cotization);
                //Cambiamos el estado de la orden
                orderLog.UpdateState(order.Order_number, "Cotizada");
                DialogResult = DialogResult.Yes;
                this.Close();
            }
        }