private void sync_VatList() { DataTable dt = exeDT("SELECT * FROM IVA"); foreach (DataRow row in dt.Rows) { app_vat_group_details app_vat_group_details = new app_vat_group_details(); app_vat vat = new app_vat(); vat.name = (string)row["DESIVA"]; vat.id_company = id_company; vat.coefficient = (decimal)row["COHEFICIENTE"] - 1; dbContext.app_vat.Add(vat); dbContext.SaveChanges(); app_vat_group vat_group = new app_vat_group(); vat_group.name = (string)row["DESIVA"]; vat_group.id_company = id_company; dbContext.app_vat_group.Add(vat_group); dbContext.SaveChanges(); app_vat_group_details.app_vat = dbContext.app_vat.Where(x => x.name == vat.name && x.id_company == id_company).FirstOrDefault(); app_vat_group_details.app_vat_group = dbContext.app_vat_group.Where(x => x.name == vat_group.name && x.id_company == id_company).FirstOrDefault(); dbContext.app_vat_group_details.Add(app_vat_group_details); } dt.Clear(); dbContext.SaveChanges(); }
private void btnNew_Click(object sender, RoutedEventArgs e) { crud_modal.Visibility = System.Windows.Visibility.Visible; cntrl.Curd.vat_group vat_group = new cntrl.Curd.vat_group(); app_vat_group app_vat_group = new app_vat_group(); _entity.db.app_vat_group.Add(app_vat_group); app_vat_groupViewSource.View.MoveCurrentToLast(); vat_group.app_vat_groupViewSource = app_vat_groupViewSource; vat_group._entity = _entity; crud_modal.Children.Add(vat_group); }
private void btnDelete_Click(object sender, RoutedEventArgs e) { try { if (!isExternalCall) { MessageBoxResult res = MessageBox.Show("Are you sure want to Delete?", "Cognitivo", MessageBoxButton.YesNo, MessageBoxImage.Question); if (res == MessageBoxResult.Yes) { app_vat_group app_vat_group = app_vat_groupViewSource.View.CurrentItem as app_vat_group; app_vat_group.is_active = false; btnSave_Click(sender, e); } } } catch { //throw ex; } }
public void sales() { string sql = " SELECT " + " dbo.VENTAS.CODVENTA, dbo.VENTAS.NUMVENTA, dbo.VENTAS.FECHAVENTA, dbo.VENTAS.PORCENTAJEDESCUENTO," + " dbo.VENTAS.TOTALEXENTA, dbo.VENTAS.TOTALGRAVADA, dbo.VENTAS.TOTALIVA, dbo.VENTAS.TOTALDESCUENTO," + " dbo.VENTAS.MODALIDADPAGO, dbo.VENTAS.FECGRA, dbo.VENTAS.ESTADO, dbo.VENTAS.MOTIVOANULADO," + " dbo.VENTAS.FECHAANULADO, dbo.VENTAS.TIPOVENTA, dbo.VENTAS.TIPOPRECIO, dbo.VENTAS.NUMVENTATIMBRADO," + " dbo.VENTAS.TOTAL5, dbo.VENTAS.TOTAL10, dbo.VENTAS.CODPRESUPUESTO, dbo.VENTAS.METODO, dbo.VENTAS.ENVIADO," + " dbo.VENTAS.TOTALGRAVADO5, dbo.VENTAS.TOTALGRAVADO10, dbo.VENTAS.ASENTADO," + " dbo.VENTAS.TOTALVENTA, dbo.VENDEDOR.DESVENDEDOR, dbo.CLIENTES.NOMBRE, dbo.CLIENTES.RUC," + " dbo.SUCURSAL.DESSUCURSAL, dbo.VENTAS.COTIZACION1, FACTURACOBRAR_1.FECHAVCTO," + " dbo.FACTURACOBRAR.FECHAVCTO AS Expr1, dbo.FACTURACOBRAR.SALDOCUOTA, dbo.FACTURACOBRAR.IMPORTECUOTA, " + " dbo.FACTURACOBRAR.COTIZACION, dbo.VENTASFORMACOBRO.IMPORTE, dbo.VENTASFORMACOBRO.DESTIPOCOBRO," + " dbo.VENTASFORMACOBRO.NUMDEVOLUCION, dbo.VENTASFORMACOBRO.TIPOCOBRO" + " FROM dbo.SUCURSAL RIGHT OUTER JOIN" + " dbo.FACTURACOBRAR RIGHT OUTER JOIN" + " dbo.VENTAS ON dbo.FACTURACOBRAR.CODVENTA = dbo.VENTAS.CODVENTA LEFT OUTER JOIN" + " dbo.VENTASFORMACOBRO ON dbo.VENTAS.CODVENTA = dbo.VENTASFORMACOBRO.CODVENTA ON dbo.SUCURSAL.CODSUCURSAL = dbo.VENTAS.CODSUCURSAL" + " LEFT OUTER JOIN dbo.VENDEDOR ON dbo.VENTAS.CODVENDEDOR = dbo.VENDEDOR.CODVENDEDOR LEFT OUTER JOIN" + " dbo.CLIENTES ON dbo.VENTAS.CODCLIENTE = dbo.CLIENTES.CODCLIENTE LEFT OUTER JOIN" + " dbo.FACTURACOBRAR AS FACTURACOBRAR_1 ON dbo.VENTAS.CODVENTA = FACTURACOBRAR_1.CODVENTA"; SqlConnection conn = new SqlConnection(_connString); //Counts Total number of Rows we have to process SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); cmd.CommandType = CommandType.Text; DataTable dt_sales = exeDT(sql); int count = (int)dt_sales.Rows.Count; conn.Close(); int value = 0; Dispatcher.BeginInvoke((Action)(() => salesMaximum.Text = count.ToString())); Dispatcher.BeginInvoke((Action)(() => salesValue.Text = value.ToString())); Dispatcher.BeginInvoke((Action)(() => progSales.Maximum = count)); Dispatcher.BeginInvoke((Action)(() => progSales.Value = value)); //Sales Invoice Detail string sqlDetail = "SELECT" + " dbo.PRODUCTOS.DESPRODUCTO," //0 + " dbo.VENTASDETALLE.CANTIDADVENTA," //1 + " dbo.VENTASDETALLE.PRECIOVENTANETO, " //2 + " dbo.VENTASDETALLE.PRECIOVENTALISTA, " //3 + " dbo.VENTASDETALLE.COSTOPROMEDIO, " //4 + " dbo.VENTASDETALLE.COSTOULTIMO, " //5 + " dbo.VENTASDETALLE.IVA, " //6 + " dbo.VENTAS.COTIZACION1, " //7 + " dbo.MONEDA.DESMONEDA, " //8 + " dbo.VENTASDETALLE.CODVENTA" + " FROM dbo.VENTAS LEFT OUTER JOIN" + " dbo.MONEDA ON dbo.VENTAS.CODMONEDA = dbo.MONEDA.CODMONEDA LEFT OUTER JOIN" + " dbo.VENTASDETALLE ON dbo.VENTAS.CODVENTA = dbo.VENTASDETALLE.CODVENTA LEFT OUTER JOIN" + " dbo.PRODUCTOS ON dbo.VENTASDETALLE.CODPRODUCTO = dbo.PRODUCTOS.CODPRODUCTO"; DataTable dt_detail = exeDT(sqlDetail); int RoofValue = 1000; int FloorValue = 0; //Run a Foreach Lap for (int i = FloorValue; i < RoofValue; i++) { using (SalesInvoiceDB db = new SalesInvoiceDB()) { db.Configuration.AutoDetectChangesEnabled = false; List <entity.app_vat_group> VATGroupList = db.app_vat_group.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.contact> ContactList = db.contacts.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.sales_rep> sales_repList = db.sales_rep.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.app_branch> BranchList = db.app_branch.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.app_location> LocationList = db.app_location.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.app_terminal> TerminalList = db.app_terminal.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.item> ItemList = db.items.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); List <entity.app_currencyfx> app_currencyfxList = db.app_currencyfx.Where(x => x.id_company == CurrentSession.Id_Company).ToList(); app_condition app_conditionCrédito = db.app_condition.Where(x => x.name == "Crédito" && x.id_company == id_company).FirstOrDefault(); app_condition app_conditionContado = db.app_condition.Where(x => x.name == "Contado" && x.id_company == id_company).FirstOrDefault(); app_currencyfx app_currencyfx = null; if (app_currencyfxList.Where(x => x.is_active).FirstOrDefault() != null) { app_currencyfx = app_currencyfxList.Where(x => x.is_active).FirstOrDefault(); } app_vat_group app_vat_group10 = VATGroupList.Where(x => x.name.Contains("10")).FirstOrDefault(); app_vat_group app_vat_group5 = VATGroupList.Where(x => x.name.Contains("5")).FirstOrDefault(); app_vat_group app_vat_group0 = VATGroupList.Where(x => x.name.Contains("0")).FirstOrDefault(); foreach (DataRow InnerRow in dt_sales.Select("CODVENTA > " + FloorValue + " AND CODVENTA < " + RoofValue + "")) { sales_invoice sales_invoice = new entity.sales_invoice(); sales_invoice.State = EntityState.Added; sales_invoice.status = Status.Documents_General.Pending; sales_invoice.IsSelected = true; sales_invoice.trans_type = Status.TransactionTypes.Normal; sales_invoice.trans_date = DateTime.Now.AddDays(0); sales_invoice.timestamp = DateTime.Now; sales_invoice.id_company = id_company; sales_invoice.number = (InnerRow["NUMVENTA"] is DBNull) ? null : InnerRow["NUMVENTA"].ToString(); sales_invoice.trans_date = (InnerRow["FECHAVENTA"] is DBNull) ? DateTime.Now :Convert.ToDateTime(InnerRow["FECHAVENTA"]); //Customer if (!(InnerRow["NOMBRE"] is DBNull)) { string _customer = InnerRow["NOMBRE"].ToString(); contact contact = ContactList.Where(x => x.name == _customer && x.id_company == id_company).FirstOrDefault(); if (contact != null) { sales_invoice.id_contact = contact.id_contact; sales_invoice.contact = contact; } } //Condition (Cash or Credit) if (!(InnerRow["TIPOVENTA"] is DBNull) && Convert.ToByte(InnerRow["TIPOVENTA"]) == 0) { sales_invoice.id_condition = app_conditionContado.id_condition; //Contract... app_contract_detail app_contract_detail = db.app_contract_detail.Where(x => x.id_company == id_company && x.app_contract.id_condition == app_conditionContado.id_condition) .FirstOrDefault(); if (app_contract_detail != null) { sales_invoice.app_contract = app_contract_detail.app_contract; sales_invoice.id_contract = app_contract_detail.id_contract; } else { app_contract app_contract = GenerateDefaultContrat(app_conditionContado, 0); db.app_contract.Add(app_contract); sales_invoice.app_contract = app_contract; sales_invoice.id_contract = app_contract.id_contract; } } else if (!(InnerRow["TIPOVENTA"] is DBNull) && Convert.ToByte(InnerRow["TIPOVENTA"]) == 1) { sales_invoice.id_condition = app_conditionCrédito.id_condition; //Contract... if (!(InnerRow["FECHAVCTO"] is DBNull)) { DateTime _due_date = Convert.ToDateTime(InnerRow["FECHAVCTO"]); int interval = (_due_date - sales_invoice.trans_date).Days; app_contract_detail app_contract_detail = db.app_contract_detail.Where(x => x.app_contract.id_condition == sales_invoice.id_condition && x.app_contract.id_company == id_company && x.interval == interval).FirstOrDefault(); if (app_contract_detail != null) { sales_invoice.app_contract = app_contract_detail.app_contract; sales_invoice.id_contract = app_contract_detail.id_contract; } else { app_contract app_contract = GenerateDefaultContrat(app_conditionCrédito, interval); db.app_contract.Add(app_contract); sales_invoice.app_contract = app_contract; sales_invoice.id_contract = app_contract.id_contract; } } else { if (db.app_contract.Where(x => x.name == "0 Días").Count() == 0) { app_contract app_contract = GenerateDefaultContrat(app_conditionCrédito, 0); db.app_contract.Add(app_contract); sales_invoice.app_contract = app_contract; sales_invoice.id_contract = app_contract.id_contract; } else { app_contract app_contract = db.app_contract.Where(x => x.name == "0 Días").FirstOrDefault(); sales_invoice.app_contract = app_contract; sales_invoice.id_contract = app_contract.id_contract; } } } else { sales_invoice.id_condition = app_conditionContado.id_condition; if (db.app_contract.Where(x => x.name == "0 Días").Count() == 0) { app_contract app_contract = GenerateDefaultContrat(app_conditionContado, 0); db.app_contract.Add(app_contract); sales_invoice.app_contract = app_contract; sales_invoice.id_contract = app_contract.id_contract; } else { app_contract app_contract = db.app_contract.Where(x => x.name == "0 Días").FirstOrDefault(); sales_invoice.app_contract = app_contract; sales_invoice.id_contract = app_contract.id_contract; } } //Sales Rep if (!(InnerRow["DESVENDEDOR"] is DBNull)) { string _sales_rep = InnerRow["DESVENDEDOR"].ToString(); sales_rep sales_rep = sales_repList.Where(x => x.name == _sales_rep && x.id_company == id_company).FirstOrDefault(); sales_invoice.id_sales_rep = sales_rep.id_sales_rep; } int id_location = 0; app_location app_location = null; //Branch if (!(InnerRow["DESSUCURSAL"] is DBNull)) { //Branch string _branch = InnerRow["DESSUCURSAL"].ToString(); app_branch app_branch = BranchList.Where(x => x.name == _branch && x.id_company == id_company).FirstOrDefault(); sales_invoice.id_branch = app_branch.id_branch; //Location if (LocationList.Where(x => x.id_branch == app_branch.id_branch && x.is_default).FirstOrDefault() != null) { id_location = LocationList.Where(x => x.id_branch == app_branch.id_branch && x.is_default).FirstOrDefault().id_location; app_location = LocationList.Where(x => x.id_branch == app_branch.id_branch && x.is_default).FirstOrDefault(); } //Terminal sales_invoice.id_terminal = TerminalList.Where(x => x.app_branch.id_branch == app_branch.id_branch).FirstOrDefault().id_terminal; } if (app_currencyfx != null) { sales_invoice.id_currencyfx = app_currencyfx.id_currencyfx; sales_invoice.app_currencyfx = app_currencyfx; } DataTable dt_CurrentDetail = new DataTable(); if (dt_detail.Select("CODVENTA =" + InnerRow[0].ToString()).Count() > 0) { dt_CurrentDetail = dt_detail.Select("CODVENTA =" + InnerRow[0].ToString()).CopyToDataTable(); } foreach (DataRow row in dt_CurrentDetail.Rows) { //db Related Insertion. sales_invoice_detail sales_invoice_detail = new sales_invoice_detail(); string _prod_Name = row["DESPRODUCTO"].ToString(); item item = ItemList.Where(x => x.name == _prod_Name && x.id_company == id_company).FirstOrDefault(); sales_invoice_detail.id_item = item.id_item; sales_invoice_detail.quantity = Convert.ToDecimal(row["CANTIDADVENTA"]); sales_invoice_detail.id_location = id_location; sales_invoice_detail.app_location = app_location; string _iva = row["IVA"].ToString(); if (_iva == "10.00") { if (app_vat_group10 != null) { sales_invoice_detail.id_vat_group = app_vat_group10.id_vat_group; } } else if (_iva == "5.00") { if (app_vat_group5 != null) { sales_invoice_detail.id_vat_group = app_vat_group5.id_vat_group; } } else { if (app_vat_group0 != null) { sales_invoice_detail.id_vat_group = app_vat_group0.id_vat_group; } } decimal cotiz1 = Convert.ToDecimal((row["COTIZACION1"] is DBNull) ? 1 : Convert.ToDecimal(row["COTIZACION1"])); if (cotiz1 == 0) { cotiz1 = 1; } sales_invoice_detail.unit_price = (Convert.ToDecimal(row["PRECIOVENTANETO"]) / sales_invoice_detail.quantity) / cotiz1; sales_invoice_detail.unit_cost = Convert.ToDecimal(row["COSTOPROMEDIO"]); //Commit Sales Invoice Detail sales_invoice.sales_invoice_detail.Add(sales_invoice_detail); } if (sales_invoice.Error == null) { sales_invoice.State = System.Data.Entity.EntityState.Added; sales_invoice.IsSelected = true; db.sales_invoice.Add(sales_invoice); if (!(InnerRow["ESTADO"] is DBNull)) { int status = Convert.ToInt32(InnerRow["ESTADO"]); if (status == 0) { sales_invoice.status = Status.Documents_General.Pending; } else if (status == 1) { db.Approve(true); sales_invoice.State = System.Data.Entity.EntityState.Modified; sales_invoice.status = Status.Documents_General.Approved; sales_invoice.IsSelected = true; add_paymnet_detail(db, sales_invoice, InnerRow["SALDOCUOTA"], InnerRow["IMPORTE"]); } else if (status == 2) { sales_invoice.status = Status.Documents_General.Annulled; if (!(InnerRow["MOTIVOANULADO"] is DBNull)) { sales_invoice.comment = InnerRow["MOTIVOANULADO"].ToString(); } } try { db.SaveChanges(); sales_invoice.IsSelected = false; } catch (Exception ex) { throw ex; } } } else { //Add code to include error contacts into SalesInvoice_ErrorList.Add(sales_invoice); } // } value += 1; Dispatcher.BeginInvoke((Action)(() => progSales.Value = value)); Dispatcher.BeginInvoke((Action)(() => salesValue.Text = value.ToString())); } } FloorValue = RoofValue; RoofValue += 1000; } }
private void SyncSalesInvoice(List <contact> ContactList, DateTime InvoiceDate) { app_vat_group VatGroup = CurrentSession.Get_VAT_Group().Where(x => x.is_default).FirstOrDefault(); foreach (contact Contact in ContactList) { try { sales_invoice sales_invoice = new sales_invoice(); sales_invoice.id_contact = Contact.id_contact; sales_invoice.contact = Contact; app_contract app_contract = ContactDB.app_contract.Where(x => x.id_contract == Contact.id_contract).FirstOrDefault(); sales_invoice.id_condition = app_contract.id_condition; sales_invoice.id_contract = app_contract.id_contract; sales_invoice.id_currencyfx = CurrentSession.CurrencyFX_Default.id_currencyfx; sales_invoice.comment = "Subscription"; sales_invoice.trans_date = InvoiceDate; sales_invoice.timestamp = DateTime.Now; if (Contact.contact_subscription.Count > 0) { foreach (contact_subscription contact_subscription in Contact.contact_subscription) { sales_invoice_detail sales_invoice_detail = null; sales_invoice_detail = new sales_invoice_detail(); sales_invoice_detail.id_sales_invoice = sales_invoice.id_sales_invoice; sales_invoice_detail.sales_invoice = sales_invoice; item item = ContactDB.items.Where(x => x.id_item == contact_subscription.id_item).FirstOrDefault(); if (item != null) { sales_invoice_detail.item = item; sales_invoice_detail.id_vat_group = contact_subscription.id_vat_group > 0 ? contact_subscription.id_vat_group : VatGroup.id_vat_group; sales_invoice_detail.id_item = contact_subscription.id_item; sales_invoice_detail.item_description = contact_subscription.item.name; } else { continue; } sales_invoice_detail.quantity = contact_subscription.quantity; sales_invoice_detail.UnitPrice_Vat = contact_subscription.UnitPrice_Vat; sales_invoice.sales_invoice_detail.Add(sales_invoice_detail); } if (sales_invoice.sales_invoice_detail.Count > 0) { sales_invoice.State = EntityState.Added; sales_invoice.IsSelected = true; crm_opportunity crm_opportunity = new crm_opportunity(); crm_opportunity.id_contact = sales_invoice.id_contact; crm_opportunity.id_currency = sales_invoice.id_currencyfx; crm_opportunity.value = sales_invoice.GrandTotal; crm_opportunity.sales_invoice.Add(sales_invoice); ContactDB.crm_opportunity.Add(crm_opportunity); ContactDB.sales_invoice.Add(sales_invoice); ContactDB.SaveChanges(); progBar.Value += 1; // Dispatcher.BeginInvoke((Action)(() => { progBar.Value += 1; })); } } } catch (Exception) { // Dispatcher.BeginInvoke((Action)(() => { Contact.IsSelected = true; })); } } }
public void product() { string sql = " SELECT dbo.FAMILIA.DESFAMILIA, dbo.LINEA.DESLINEA, dbo.RUBRO.DESRUBRO, dbo.IVA.DESIVA, dbo.CODIGOS.DESCODIGO1, dbo.CODIGOS.CODIGO, dbo.CODIGOS.PESABLE, dbo.CODIGOS.VENCIMIENTO, dbo.CODIGOS.BALANZA, dbo.PRODUCTOS.DESPRODUCTO, dbo.PRODUCTOS.STOCKMINIMO, dbo.PRODUCTOS.STOCKMAXIMO, " + " dbo.PRODUCTOS.SERVICIO, dbo.PRODUCTOS.ESTADO, dbo.PRODUCTOS.ESPECIFICACIONES, dbo.PRODUCTOS.PRODUCTO, dbo.UNIDADMEDIDA.DESMEDIDA, dbo.CODIGOS.CODCODIGO" + " FROM dbo.CODIGOS LEFT OUTER JOIN" + " dbo.PRODUCTOS ON dbo.CODIGOS.CODPRODUCTO = dbo.PRODUCTOS.CODPRODUCTO LEFT OUTER JOIN" + " dbo.UNIDADMEDIDA ON dbo.PRODUCTOS.CODMEDIDA = dbo.UNIDADMEDIDA.CODMEDIDA LEFT OUTER JOIN" + " dbo.RUBRO ON dbo.PRODUCTOS.CODRUBRO = dbo.RUBRO.CODRUBRO LEFT OUTER JOIN" + " dbo.FAMILIA ON dbo.PRODUCTOS.CODFAMILIA = dbo.FAMILIA.CODFAMILIA LEFT OUTER JOIN" + " dbo.LINEA ON dbo.PRODUCTOS.CODLINEA = dbo.LINEA.CODLINEA LEFT OUTER JOIN" + " dbo.IVA ON dbo.PRODUCTOS.CODIVA = dbo.IVA.CODIVA"; SqlConnection conn = new SqlConnection(_connString); //Counts Total number of Rows we have to process SqlCommand cmd = new SqlCommand(); conn.Open(); cmd.Connection = conn; cmd.CommandText = "SELECT COUNT(*) FROM CODIGOS"; cmd.CommandType = CommandType.Text; int count = (int)cmd.ExecuteScalar(); //cmd.Dispose(); conn.Close(); int value = 0; Dispatcher.BeginInvoke((Action)(() => progItem.Maximum = count)); Dispatcher.BeginInvoke((Action)(() => progItem.Value += value)); Dispatcher.BeginInvoke((Action)(() => itemMaximum.Text = count.ToString())); Dispatcher.BeginInvoke((Action)(() => itemValue.Text = value.ToString())); string sql_price = " SELECT dbo.TIPOCLIENTE.DESTIPOCLIENTE, dbo.PRECIO.CANTIDAD, dbo.PRECIO.PRECIOVENTA, dbo.MONEDA.DESMONEDA, dbo.PRODUCTOS.DESPRODUCTO" + " FROM dbo.PRECIO LEFT OUTER JOIN" + " dbo.MONEDA ON dbo.PRECIO.CODMONEDA = dbo.MONEDA.CODMONEDA LEFT OUTER JOIN" + " dbo.PRODUCTOS ON dbo.PRECIO.CODPRODUCTO = dbo.PRODUCTOS.CODPRODUCTO LEFT OUTER JOIN" + " dbo.TIPOCLIENTE ON dbo.PRECIO.CODTIPOCLIENTE = dbo.TIPOCLIENTE.CODTIPOCLIENTE"; DataTable dt_Price = exeDT(sql_price); conn.Open(); cmd.Connection = conn; cmd.CommandText = sql; cmd.CommandType = CommandType.Text; DataTable dt_product = exeDT(sql); foreach (DataRow reader in dt_product.Rows) { using (db db = new db()) { db.Configuration.AutoDetectChangesEnabled = false; item item = new item(); item.id_company = id_company; if (!(reader[9] is DBNull)) { item.name = reader[9].ToString(); } else { continue; } item.code = (reader[5] is DBNull) ? string.Empty : reader[5].ToString(); item.variation = (reader[9] is DBNull) ? string.Empty : reader[9].ToString(); item.is_active = (reader[13] is DBNull) ? false : true; item.description = (reader[14] is DBNull) ? string.Empty : reader[14].ToString(); string name = (reader[16] is DBNull) ? string.Empty : reader[16].ToString(); if (db.app_measurement.Where(x => x.name == name && x.id_company == id_company).FirstOrDefault() != null) { item.id_measurement = db.app_measurement.Where(x => x.name == name && x.id_company == id_company).FirstOrDefault().id_measurement; } //string FAMILIA; if (!(reader[0] is DBNull)) { string tagname = reader[0].ToString(); item_tag item_tagFam = db.item_tag.Where(x => x.name == tagname && x.id_company == id_company).FirstOrDefault(); item_tag_detail tag_detailFam = new item_tag_detail(); tag_detailFam.id_tag = item_tagFam.id_tag; item.item_tag_detail.Add(tag_detailFam); } //string LINEA; if (!(reader[1] is DBNull)) { string tagLinname = reader[1].ToString(); item_tag item_tagLin = db.item_tag.Where(x => x.name == tagLinname && x.id_company == id_company).FirstOrDefault(); item_tag_detail tag_detailLin = new item_tag_detail(); tag_detailLin.id_tag = item_tagLin.id_tag; item.item_tag_detail.Add(tag_detailLin); } //string RUBRO; if (!(reader[2] is DBNull)) { string tagrubro = reader[2].ToString(); item_tag item_tagRub = db.item_tag.Where(x => x.name == tagrubro && x.id_company == id_company).FirstOrDefault(); item_tag_detail tag_detailRub = new item_tag_detail(); tag_detailRub.id_tag = item_tagRub.id_tag; item.item_tag_detail.Add(tag_detailRub); } if (!(reader[15] is DBNull)) { if (Convert.ToInt32(reader[15]) == 1) { //Product item.id_item_type = item.item_type.Product; item_product product = new item_product(); product.id_company = id_company; product.can_expire = (reader[7] is DBNull || Convert.ToInt32(reader[7]) == 0) ? false : true; product.is_weigted = (reader[6] is DBNull || Convert.ToInt32(reader[6]) == 0) ? false : true; product.stock_max = (reader[11] is DBNull) ? 0M : (decimal)reader[11]; product.stock_min = (reader[10] is DBNull) ? 0M : (decimal)reader[10]; item.item_product.Add(product); } else { item.id_item_type = item.item_type.Task; //Generic Service //item_service service } } else { item.id_item_type = item.item_type.Task; //Generic Service //item_service service } decimal _vat_coeficient = 0; if (!(reader[3] is DBNull)) { string vatname = reader[3].ToString(); app_vat_group app_vat_group = db.app_vat_group.Where(x => x.name == vatname && x.id_company == id_company).FirstOrDefault(); item.id_vat_group = app_vat_group.id_vat_group; } decimal coefficient = 0; List <app_vat_group_details> app_vat_group_details = db.app_vat_group_details.Where(x => x.id_vat_group == item.id_vat_group).ToList(); foreach (app_vat_group_details app_vat_group in app_vat_group_details) { coefficient = coefficient + app_vat_group.app_vat.coefficient; } string _DESPRODUCTO = reader["DESPRODUCTO"].ToString(); _DESPRODUCTO = _DESPRODUCTO.Replace("'", ""); try { foreach (DataRow price_row in dt_Price.Select("DESPRODUCTO = '" + _DESPRODUCTO + "'")) { string _desTipoCliente = (price_row.IsNull("DESTIPOCLIENTE")) ? string.Empty : price_row["DESTIPOCLIENTE"].ToString(); string _desMoneda = (price_row.IsNull("DESMONEDA")) ? string.Empty : price_row["DESMONEDA"].ToString(); if (_desTipoCliente != string.Empty && _desMoneda != string.Empty) { item_price_list item_price_list = db.item_price_list.Where(x => x.name == _desTipoCliente && x.id_company == id_company).FirstOrDefault(); app_currency app_currency = db.app_currency.Where(x => x.name == _desMoneda && x.id_company == id_company).FirstOrDefault(); if (item_price_list != null && app_currency != null && _vat_coeficient != -1) { item_price item_price = new item_price(); item_price.item = item; if (price_row["PRECIOVENTA"] is DBNull) { item_price.value = 0; } else { if (coefficient != -1) { item_price.value = ((decimal)price_row["PRECIOVENTA"] / (1 + coefficient)); } } item_price.min_quantity = (price_row.IsNull("CANTIDAD")) ? 0 : Convert.ToDecimal(price_row["CANTIDAD"]); item_price.id_currency = app_currency.id_currency; item_price.id_price_list = item_price_list.id_price_list; item.item_price.Add(item_price); } } } } catch (Exception ex) { throw ex; } try { if (item.Error == null) { db.items.Add(item); db.SaveChanges(); value += 1; Dispatcher.BeginInvoke((Action)(() => progItem.Value = value)); Dispatcher.BeginInvoke((Action)(() => itemValue.Text = value.ToString())); } } catch { } } } //cmd.Dispose(); conn.Close(); _product_Current = _product_Max; }