public void Create(Cotization_serviceFK cotization_serviceFK) { try { Database.Connect(); command = new OdbcCommand { Connection = Database.GetConn(), CommandType = CommandType.StoredProcedure, CommandText = "{call csg.Cotization_serviceFK_Create(?,?,?,?,?)}" }; command.Parameters.Add("CotizationId", OdbcType.VarChar, 50).Value = cotization_serviceFK.Cotization_id; command.Parameters.Add("ServiceCode", OdbcType.VarChar, 50).Value = cotization_serviceFK.Service_code; //Adds command.Parameters.Add("ActionOf", OdbcType.VarChar, 50).Value = cotization_serviceFK.Actionof; command.Parameters.Add("Quantity", OdbcType.TinyInt).Value = cotization_serviceFK.Service_quantity; command.Parameters.Add("Amount", OdbcType.VarChar, 14).Value = cotization_serviceFK.Service_amount; command.ExecuteNonQuery(); Console.WriteLine("CREATE-> cotization: " + cotization_serviceFK.Cotization_id + " | service: " + cotization_serviceFK.Service_code); } catch (Exception ex) { MessageBox.Show("Excepción controlada en Cotization_serviceFKDAO->Create: " + ex.Message, "Excepción", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Database.Disconnect(); } }
public List <Cotization_serviceFK> Read_ServicesOfCotization(string cotization_id) { List <Cotization_serviceFK> cotization_Services = new List <Cotization_serviceFK>(); try { if (!Database.GetConn().State.ToString().Equals("Open")) { Database.Connect(); } command = new OdbcCommand { Connection = Database.GetConn(), CommandType = CommandType.StoredProcedure, CommandText = "{call csg.Cotization_serviceFK_ReadServicesOfCotization(?)}" }; command.Parameters.Add("CotizationId", OdbcType.VarChar, 50).Value = cotization_id; //ejecutamos la lectura del DataReader dataReader = command.ExecuteReader(); while (dataReader.Read()) { Cotization_serviceFK cotization_ServiceFK = new Cotization_serviceFK { Cotization_id = cotization_id, Service_code = dataReader.GetString(0), Service_quantity = dataReader.GetByte(1), Service_amount = dataReader.GetString(2) }; cotization_Services.Add(cotization_ServiceFK); } } catch (Exception ex) { MessageBox.Show("Excepción controlada en Cotization_serviceFKDAO->Read_ServicesOfCotization: " + ex.Message, "Excepción", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Database.Disconnect(); } return(cotization_Services); }
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(); } }
public void Create(Cotization_serviceFK cotization_ServiceFK) { DAOFactory.GetCotization_ServiceFKDAO().Create(cotization_ServiceFK); }