private void Fetch(IDataReader source) { try { _base.CopyValues(source); if (Childs) { if (nHMng.UseDirectSQL) { CashLine.DoLOCK(Session()); string query = CashLines.SELECT_BY_CIERRE(this.Oid); IDataReader reader = nHMng.SQLNativeSelect(query, Session()); _lineas = CashLines.GetChildList(reader, false); } UpdateSaldo(); } } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
protected override void AnulaLineaAction() { if (Lines_DGW.CurrentRow == null) { return; } CashLine item = Lines_DGW.CurrentRow.DataBoundItem as CashLine; if (ProgressInfoMng.ShowQuestion(Face.Resources.Messages.NULL_CONFIRM) != DialogResult.Yes) { return; } if (item.Locked) { return; } _entity.Lines.Remove(item); _entity.UpdateSaldo(); Datos.ResetBindings(false); SetGridFormat(Lines_DGW); }
private void Fetch(CierreCaja source) { try { SessionCode = source.SessionCode; _base.CopyValues(source); if (Childs) { if (nHMng.UseDirectSQL) { CashLine.DoLOCK(Session()); string query = CashLines.SELECT_BY_CIERRE(this.Oid); IDataReader reader = nHMng.SQLNativeSelect(query, Session()); _lineas = CashLines.GetChildList(reader, false); } else { CriteriaEx criteria = CashLine.GetCriteria(Session()); criteria.AddEq("OidCierre", this.Oid); _lineas = CashLines.GetChildList(criteria.List <CashLine>()); } UpdateSaldo(); } } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
protected void SetTipo() { CashLine item = Lines_DGW.CurrentRow.DataBoundItem as CashLine; SelectEnumInputForm form = new SelectEnumInputForm(true); if (_linea_libre) { ETipoLineaCaja[] list = { ETipoLineaCaja.SalidaPorIngreso, ETipoLineaCaja.EntradaPorTraspaso, ETipoLineaCaja.EntradaPorTarjetaCredito, ETipoLineaCaja.Otros }; form.SetDataSource(Library.Invoice.EnumText <ETipoLineaCaja> .GetList(list)); } else { ETipoLineaCaja[] list = { ETipoLineaCaja.SalidaPorIngreso, ETipoLineaCaja.EntradaPorTraspaso, ETipoLineaCaja.EntradaPorTarjetaCredito }; form.SetDataSource(Library.Invoice.EnumText <ETipoLineaCaja> .GetList(list)); } if (form.ShowDialog(this) == DialogResult.OK) { ComboBoxSource tipo = form.Selected as ComboBoxSource; item.ETipoLinea = (ETipoLineaCaja)tipo.Oid; SetRowFormat(Lines_DGW.CurrentRow); Lines_BS.ResetBindings(false); } }
public ActionResult DetailGridViewPartialAddNew([ModelBinder(typeof(DevExpressEditorsBinder))] CashLine line, int transId) { var model = db.CashLines; line.TransId = transId; ViewData["line"] = line; if (ModelState.IsValid) { try { model.InsertOnSubmit(line); db.SubmitChanges(); } catch (Exception e) { ViewData["GenericError"] = e.Message; IWSLookUp.LogException(e); } } else { ViewData["GenericError"] = IWSLookUp.GetModelSateErrors(ModelState); } return(PartialView("DetailGridViewPartial", IWSLookUp.GetCashLines(transId))); }
public ActionResult DetailGridViewPartialUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] CashLine line, int transId) { var model = db.CashLines; line.TransId = transId; ViewData["line"] = line; if (ModelState.IsValid) { try { var modelItem = model.FirstOrDefault(it => it.Id == line.Id); if (modelItem != null) { this.UpdateModel(modelItem); db.SubmitChanges(); } } catch (Exception e) { ViewData["GenericError"] = e.Message; IWSLookUp.LogException(e); } } else { ViewData["GenericError"] = IWSLookUp.GetModelSateErrors(ModelState); } return(PartialView("DetailGridViewPartial", IWSLookUp.GetCashLines(transId))); }
/// <summary> /// Construye el objeto y se encarga de obtener los /// hijos si los tiene y se solicitan /// </summary> /// <param name="source">Objeto fuente</param> private void Fetch(Cash source) { try { SessionCode = source.SessionCode; _base.CopyValues(source); if (Childs) { if (nHMng.UseDirectSQL) { CashLine.DoLOCK(Session()); string query = CashLines.SELECT(this); IDataReader reader = nHMng.SQLNativeSelect(query, Session()); _lines = CashLines.GetChildList(reader, false); } } } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } MarkOld(); }
protected override void SetBankAccountAction() { if (!ControlsMng.IsCurrentItemValid(Lines_DGW)) { return; } CashLine item = ControlsMng.GetCurrentItem(Lines_DGW) as CashLine; if (item.Locked) { return; } if (!new ETipoLineaCaja[] { ETipoLineaCaja.EntradaPorTraspaso, ETipoLineaCaja.SalidaPorIngreso }.Contains(item.ETipoLinea)) { return; } BankAccountSelectForm form = new BankAccountSelectForm(this); if (form.ShowDialog(this) == DialogResult.OK) { BankAccountInfo cuenta = form.Selected as BankAccountInfo; item.OidCuentaBancaria = cuenta.Oid; item.CuentaBancaria = cuenta.Valor; } }
public static void InsertItem(IBankLine source, long oid_caja, int sessionCode) { if (source is Payment && ((Payment)source).EEstadoPago != EEstado.Pagado) { return; } else if (source is Charge && ((Charge)source).EEstadoCobro != EEstado.Charged) { return; } switch (source.EMedioPago) { //Creamos la entrada de caja correspondiente case EMedioPago.Efectivo: { Cash caja = Cash.Get(oid_caja, sessionCode); CashLine lc = caja.Lines.NewItem(caja); lc.CopyFrom(source); if (source.ETipoMovimientoBanco == EBankLineType.PagoPrestamo) { Payment pago = (Payment)source; lc.Haber = pago.Importe + pago.GastosBancarios; } caja.UpdateSaldo(); caja.SaveAsChild(); //caja.CloseSession(); } break; } }
/// <summary>Aplica las reglas de validación de usuarios al formulario. /// <returns>void</returns> /// </summary> protected override void ApplyAuthorizationRules() { Tabla.Visible = CashLine.CanGetObject(); Add_Button.Enabled = CashLine.CanAddObject(); Edit_Button.Enabled = CashLine.CanEditObject(); Delete_Button.Enabled = CashLine.CanDeleteObject(); Print_Button.Enabled = CashLine.CanGetObject(); View_Button.Enabled = CashLine.CanGetObject(); }
public static string SELECT_BY_CIERRE(long oid) { QueryConditions conditions = new QueryConditions(); conditions.CierreCaja = CierreCaja.New().GetInfo(); conditions.CierreCaja.Oid = oid; return(CashLine.SELECT(conditions, true)); }
public virtual void UpdateSaldo(DateTime date) { DebeTotal = DebeAcumulado; HaberTotal = HaberAcumulado; if (Lines.Count == 0) { return; } int i = 0; for (i = 0; i < Lines.Count; i++) { CashLine item = Lines[i]; if (item.Fecha > date) { continue; } if (item.EEstado == EEstado.Anulado) { item.Saldo = 0; continue; } item.Saldo = SaldoAcumulado + item.Debe - item.Haber; DebeTotal += item.Debe; HaberTotal += item.Haber; break; } int last_abierto = i; for (int j = i + 1; j < Lines.Count; j++) { CashLine item = Lines[j]; if (item.Fecha > date) { continue; } if (item.EEstado == EEstado.Anulado) { item.Saldo = 0; continue; } item.Saldo = Lines[last_abierto].Saldo + item.Debe - item.Haber; DebeTotal += item.Debe; HaberTotal += item.Haber; last_abierto = j; } }
public static string SELECT(CashInfo source) { QueryConditions conditions = new QueryConditions { Caja = source, CierreCaja = CierreCajaInfo.New() }; return(CashLine.SELECT(conditions, true)); }
public static CashLineList GetByCreditCardStatement(long oidStatement, bool childs) { QueryConditions conditions = new QueryConditions { CreditCardStatement = (oidStatement) != 0 ? CreditCardStatementInfo.New(oidStatement) : null, MedioPago = EMedioPago.Tarjeta }; return(GetList(CashLine.SELECT_BY_CREDIT_CARD_STATEMENT(conditions, false), childs)); }
public static string SELECT_BY_CAJA(long oid) { QueryConditions conditions = new QueryConditions { Caja = Cash.New().GetInfo(), CierreCaja = CierreCaja.New().GetInfo() }; conditions.Caja.Oid = oid; conditions.CierreCaja.Oid = 0; return(CashLine.SELECT(conditions, true)); }
/// <summary> /// Obtiene un registro de la base de datos /// </summary> /// <param name="criteria">Criterios de consulta</param> /// <remarks>Lo llama el DataPortal tras generar el objeto</remarks> private void DataPortal_Fetch(CriteriaEx criteria) { try { _base.Record.Oid = 0; SessionCode = criteria.SessionCode; Childs = criteria.Childs; if (nHMng.UseDirectSQL) { Cash.DoLOCK(Session()); IDataReader reader = nHMng.SQLNativeSelect(criteria.Query, Session()); if (reader.Read()) { _base.CopyValues(reader); } #if TRACE ControlerBase.AppControler.Timer.Record("Caja.CopyValues"); #endif if (Childs) { string query = string.Empty; CashLine.DoLOCK(Session()); query = CashLines.SELECT_BY_CAJA(Oid); reader = nHMng.SQLNativeSelect(query, Session()); #if TRACE ControlerBase.AppControler.Timer.Record("LineaCajas.SQLNativeSelect"); #endif _lines = CashLines.GetChildList(reader); #if TRACE ControlerBase.AppControler.Timer.Record("LineaCajas.GetChildList"); #endif } UpdateSaldo(); #if TRACE ControlerBase.AppControler.Timer.Record("UpdateSaldo"); #endif } } catch (Exception ex) { if (!SharedTransaction && Transaction() != null) { Transaction().Rollback(); } iQExceptionHandler.TreatException(ex, new object[] { criteria.Query }); } }
protected override void SetRowFormat(DataGridViewRow row) { if (!row.Displayed) { return; } if (row.IsNewRow) { return; } CashLine item = (CashLine)row.DataBoundItem; if (item.Locked) { row.ReadOnly = true; } switch (item.ETipoLinea) { case ETipoLineaCaja.SalidaPorIngreso: row.Cells[Debe.Index].ReadOnly = true; row.Cells[Haber.Index].ReadOnly = false; row.Cells[Haber.Index].Style.BackColor = Face.ControlTools.Instance.BasicStyle.BackColor; row.Cells[Haber.Index].Style.ForeColor = Face.ControlTools.Instance.BasicStyle.ForeColor; item.Debe = 0; break; case ETipoLineaCaja.EntradaPorTraspaso: case ETipoLineaCaja.EntradaPorTarjetaCredito: row.Cells[Debe.Index].ReadOnly = false; row.Cells[Haber.Index].ReadOnly = true; row.Cells[Debe.Index].Style.BackColor = Face.ControlTools.Instance.BasicStyle.BackColor; row.Cells[Debe.Index].Style.ForeColor = Face.ControlTools.Instance.BasicStyle.ForeColor; item.Haber = 0; break; case ETipoLineaCaja.Otros: row.Cells[Debe.Index].ReadOnly = false; row.Cells[Haber.Index].ReadOnly = false; row.Cells[Debe.Index].Style.BackColor = Face.ControlTools.Instance.BasicStyle.BackColor; row.Cells[Haber.Index].Style.BackColor = Face.ControlTools.Instance.BasicStyle.BackColor; row.Cells[Debe.Index].Style.ForeColor = Face.ControlTools.Instance.BasicStyle.ForeColor; row.Cells[Haber.Index].Style.ForeColor = Face.ControlTools.Instance.BasicStyle.ForeColor; break; } Face.Common.ControlTools.Instance.SetRowColorIM(row, item.EEstado); }
public virtual void UpdateSaldo() { if (LineaCajas.Count == 0) { return; } SaldoInicial = SaldoAcumulado - Saldo; Debe = 0; Haber = 0; int i = 0; for (i = 0; i < LineaCajas.Count; i++) { CashLine item = LineaCajas[i]; if (item.EEstado == EEstado.Anulado) { LineaCajas[i].Saldo = 0; continue; } item.Saldo = SaldoInicial + item.Debe - item.Haber; Debe += item.Debe; Haber += item.Haber; break; } int last_abierto = i; for (int j = i + 1; j < LineaCajas.Count; j++) { CashLine item = LineaCajas[j]; if (item.EEstado == EEstado.Anulado) { item.Saldo = 0; continue; } item.Saldo = LineaCajas[last_abierto].Saldo + item.Debe - item.Haber; Debe += item.Debe; Haber += item.Haber; last_abierto = j; } SaldoFinal = SaldoInicial + Saldo; }
protected override void SetRowFormat(DataGridViewRow row) { if (row.IsNewRow) { return; } CashLine item = (CashLine)row.DataBoundItem; if (item.Locked) { row.ReadOnly = true; } Face.Common.ControlTools.Instance.SetRowColorIM(row, item.EEstado); }
protected override void AddLineaAction() { CashLine item = _entity.Lines.NewItem(_entity); Lines_BS.DataSource = _entity.Lines; Lines_BS.MoveLast(); if (!_linea_libre) { item.ETipoLinea = ETipoLineaCaja.SalidaPorIngreso; } SetTipo(); }
public static CashLineList GetList(string query, bool childs) { CriteriaEx criteria = CashLine.GetCriteria(CreditCardStatement.OpenSession()); criteria.Childs = childs; if (nHManager.Instance.UseDirectSQL) { criteria.Query = query; } CashLineList list = DataPortal.Fetch <CashLineList>(criteria); CloseSession(criteria.SessionCode); return(list); }
/// <summary> /// Obtiene un registro de la base de datos /// </summary> /// <param name="criteria">Criterios de consulta</param> /// <remarks>Lo llama el DataPortal tras generar el objeto</remarks> private void DataPortal_Fetch(CriteriaEx criteria) { try { _base.Record.Oid = 0; SessionCode = criteria.SessionCode; Childs = criteria.Childs; if (nHMng.UseDirectSQL) { CierreCaja.DoLOCK(Session()); IDataReader reader = nHMng.SQLNativeSelect(criteria.Query, Session()); if (reader.Read()) { _base.CopyValues(reader); } if (Childs) { string query = string.Empty; CashLine.DoLOCK(Session()); query = CashLines.SELECT_BY_CIERRE(this.Oid); reader = nHMng.SQLNativeSelect(query, Session()); _lineas = CashLines.GetChildList(reader); } } UpdateSaldo(); MarkOld(); } catch (Exception ex) { if (!SharedTransaction && Transaction() != null) { Transaction().Rollback(); } iQExceptionHandler.TreatException(ex); } }
protected override void SetLineTypeAction() { CashLine item = Lines_DGW.CurrentRow.DataBoundItem as CashLine; if (item.Locked) { return; } if (new ETipoLineaCaja[] { ETipoLineaCaja.EntradaPorCobro, ETipoLineaCaja.SalidaPorIngreso, ETipoLineaCaja.EntradaPorTarjetaCredito }.Contains(item.ETipoLinea)) { return; } SetTipo(); }
protected override void SetCreditCardAction() { if (!ControlsMng.IsCurrentItemValid(Lines_DGW)) { return; } CashLine item = ControlsMng.GetCurrentItem(Lines_DGW) as CashLine; if (item.Locked) { return; } if (!new ETipoLineaCaja[] { ETipoLineaCaja.EntradaPorTarjetaCredito }.Contains(item.ETipoLinea)) { return; } CreditCardSelectForm form = new CreditCardSelectForm(this); if (form.ShowDialog(this) == DialogResult.OK) { CreditCardInfo credit_card = form.Selected as CreditCardInfo; if (credit_card.ETipoTarjeta != ETipoTarjeta.Credito) { return; } item.OidCreditCard = credit_card.Oid; item.CreditCard = credit_card.Nombre; item.OidCuentaBancaria = credit_card.OidCuentaBancaria; item.CuentaBancaria = credit_card.CuentaBancaria; Lines_BS.ResetBindings(false); } }
private void DataPortal_Delete(CriteriaCs criteria) { CierreCaja obj = null; try { // Iniciamos la conexion y la transaccion obj = CierreCaja.Get(criteria.Oid, true); //Liberamos las lineas de caja del cierre QueryConditions conditions = new QueryConditions { CierreCaja = obj.GetInfo(false), }; nHMng.SQLNativeExecute(CashLine.UPDATE_LIBERA_LINEAS_A(conditions), obj.Session()); nHMng.SQLNativeExecute(CashLine.UPDATE_LIBERA_LINEAS_B(conditions), obj.Session()); obj.Session().Delete(obj.Base.Record); obj.Transaction().Commit(); } catch (Exception ex) { if ((obj != null) && (obj.Transaction() != null)) { obj.Transaction().Rollback(); } iQExceptionHandler.TreatException(ex); } finally { if (obj != null) { obj.CloseSession(); } } }
/// <summary> /// Crea los conceptos de factura asociados a un albarán /// </summary> /// <param name="source"></param> public virtual void Compact(OutputInvoice invoice) { if (this.Count == 0) { return; } OutputDelivery main_albaran = null; Cash caja = null; try { List <long> oid_list = new List <long>(); foreach (AlbaranFactura item in this) { oid_list.Add(item.OidAlbaran); } OutputDeliveryList albaranes = OutputDeliveryList.GetList(oid_list, true); main_albaran = OutputDelivery.Get(oid_list[0], true, invoice.SessionCode); foreach (AlbaranFactura af in this) { if (af.OidAlbaran == main_albaran.Oid) { continue; } OutputDeliveryInfo source = albaranes.GetItem(af.OidAlbaran); main_albaran.Merge(source); } main_albaran.Compact(); SortedBindingList <AlbaranFactura> sorted_list = this.GetSortedList("CodigoAlbaran", ListSortDirection.Ascending); OutputDeliveryInfo first_albaran = OutputDeliveryInfo.Get(sorted_list[0].OidAlbaran, ETipoEntidad.Cliente, false); main_albaran.CopyFrom(invoice); main_albaran.Codigo = first_albaran.Codigo; main_albaran.Serial = first_albaran.Serial; main_albaran.Save(); ToDelete = new List <OutputDeliveryInfo>(); for (int i = 1; i < oid_list.Count; i++) { Remove(GetItemByAlbaran(oid_list[i]).Oid); ToDelete.Add(albaranes.GetItem(oid_list[i])); } CashLine.DeleteByAlbaranList(albaranes.GetListInfo(), ModulePrincipal.GetCajaTicketsSetting()); Ticket.DeleteFromList(albaranes.GetListInfo()); //Actualizamos la caja de Tickets caja = Cash.Get(ModulePrincipal.GetCajaTicketsSetting(), true, invoice.SessionCode); caja.UpdateSaldo(); caja.SaveAsChild(); AlbaranFactura ab = GetItemByAlbaran(main_albaran.Oid); ab.CodigoAlbaran = main_albaran.Codigo; } catch (Exception ex) { throw ex; } finally { Cache.Instance.Remove(typeof(ClienteList)); Cache.Instance.Remove(typeof(ProductList)); } }
public ActionResult CashToDb(string[] files) { const string providerXLS = "Provider=Microsoft.ACE.OLEDB.12.0.;Data Source="; const string extensionXLS = ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=2\""; const string providerXLSX = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="; const string extensionXLSX = ";Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=2\""; string companyId = (string)Session["CompanyID"]; //foreach (var item in files) //{ string fullPath = files[0].ToString(); string msg = string.Empty; string option = string.Empty; string fileName = fullPath.Substring(fullPath.IndexOf(@"\") + 1); if (fileName.Equals(null)) { return(View("Cash")); } int count = 0; int rowCount = 0; string sheetName = ""; int errorAtLine = 0; int transId = 0; int notImported = 0; int readReportFrom = 6; int readPeriodFrom = 3; decimal monthInitialReport = 0; string sYear = String.Empty; string sMonth = String.Empty; string Headers = String.Empty; try { string path = Path.Combine(Server.MapPath(Helper.RootFolder), fileName); string extension = Path.GetExtension(fileName).ToLower(); if (extension == ".xls" || extension == ".xlsx") { string connectionString = String.Empty; DataTable dataTable = new DataTable(); if (extension == ".xls") { connectionString = providerXLS + path + extensionXLS; } else if (extension == ".xlsx") { connectionString = providerXLSX + path + extensionXLSX; } OleDbConnection oleDBConnection = new OleDbConnection(connectionString); oleDBConnection.Open(); dataTable = oleDBConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); oleDBConnection.Close(); if (dataTable == null) { return(null); } String[] excelSheets = new String[dataTable.Rows.Count]; string cashAccountId = IWSLookUp.GetCashAccountId(); string currency = IWSLookUp.DefaultCurrency(); foreach (DataRow row in dataTable.Rows) { excelSheets[count] = row["TABLE_NAME"].ToString(); sheetName = excelSheets[count].Replace("\'", ""); string query = $"Select * from [{excelSheets[count]}]"; DataSet dataSet = new DataSet(); using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, oleDBConnection)) { dataAdapter.Fill(dataSet); } if (!(dataSet.Tables[0].Rows.Count > 0)) { string x = $"{IWSLocalResource.GenericError}{Environment.NewLine}{IWSLocalResource.DataFormat} "; var s = new { Description = x }; return(Json(s)); } //if (headers.SequenceEqual(columnNames)) //{ List <CashLine> CashLine = new List <CashLine>(); for (int i = 1; i < dataSet.Tables[0].Rows.Count; i++) { #region Cash Header if (i == readPeriodFrom) { sYear = dataSet.Tables[0].Rows[i][4].ToString(); sMonth = dataSet.Tables[0].Rows[i][1].ToString(); } if (i == readReportFrom) { monthInitialReport = Convert.ToDecimal(dataSet.Tables[0].Rows[i][2]); } #endregion #region Cash Lines errorAtLine += 1; if (i > readReportFrom) { if (DateTime.TryParse(dataSet.Tables[0].Rows[i][5].ToString(), out DateTime datumValue)) { CashLine cashLine = new CashLine { Einnahmen = dataSet.Tables[0].Rows[i][0] == DBNull.Value ? 0 : Convert.ToDecimal(dataSet.Tables[0].Rows[i][0]), Ausgaben = dataSet.Tables[0].Rows[i][1] == DBNull.Value ? 0 : Convert.ToDecimal(dataSet.Tables[0].Rows[i][1]), Bestand = dataSet.Tables[0].Rows[i][2] == DBNull.Value ? 0 : Convert.ToDecimal(dataSet.Tables[0].Rows[i][2]), Currency = currency, konto = cashAccountId, Gegenkonto = dataSet.Tables[0].Rows[i][3] == DBNull.Value ? null : dataSet.Tables[0].Rows[i][3].ToString(), BelegNr = dataSet.Tables[0].Rows[i][4] == DBNull.Value ? null : dataSet.Tables[0].Rows[i][4].ToString(), Datum = datumValue, SteuerSatz = dataSet.Tables[0].Rows[i][6] == DBNull.Value ? null : dataSet.Tables[0].Rows[i][6].ToString(), Beschreibung = dataSet.Tables[0].Rows[i][7] == DBNull.Value ? null : dataSet.Tables[0].Rows[i][7].ToString(), CostCenter = dataSet.Tables[0].Rows[i][8] == DBNull.Value ? null : dataSet.Tables[0].Rows[i][8].ToString() }; CashLine.Add(cashLine); } else { notImported += 1; } } #endregion } errorAtLine = 0; if (db.Cashes.Any(m => m.SYear.Equals(sYear) && m.SMonth.Equals(sMonth) && m.CompanyId.Equals(companyId))) { Cash entity = db.Cashes.FirstOrDefault(n => n.CompanyId.Equals(companyId) && n.SYear.Equals(sYear) && n.SMonth.Equals(sMonth)); if (entity.IsValidated.Equals(false)) { db.Cashes.DeleteOnSubmit(entity); db.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict); } } count += 1; Cash cash = new Cash { Account = cashAccountId, SYear = sYear, SMonth = sMonth, Report = monthInitialReport, IsValidated = false, CompanyId = companyId }; db.Cashes.InsertOnSubmit(cash); db.SubmitChanges(); transId = db.Cashes.DefaultIfEmpty().Max(m => m == null ? 0 : m.Id); notImported = 0; foreach (CashLine cashLine in CashLine) { cashLine.TransId = transId; db.CashLines.InsertOnSubmit(cashLine); rowCount += 1; } //} } db.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict); } if (rowCount > 0) { msg = $"{rowCount} {IWSLocalResource.Imported} {option} "; } else { msg = $"{IWSLocalResource.ImportedNone}"; } } catch (Exception ex) { IWSLookUp.LogException(ex); msg = ex.Message; if (errorAtLine > 0) { msg = $"{msg} {Environment.NewLine} {sheetName}: {errorAtLine+1}"; } } //} var Message = new { Description = msg }; return(Json(Message)); }
public static void EditItem(IBankLine source, IBankLineInfo oldSource, long oid_caja, int sessionCode) { if (source.EEstado == EEstado.Anulado || (source is Payment && (source as Payment).EEstadoPago != EEstado.Pagado) || (source is Charge && (source as Charge).EEstadoCobro != EEstado.Charged)) { //Anulamos la salida de caja correspondiente AnulaItem(source, oid_caja, sessionCode); return; } switch (source.EMedioPago) { case EMedioPago.Efectivo: { Cash caja = Cash.Get(oid_caja, sessionCode); CashLine lc = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: case EBankLineType.PagoPrestamo: lc = caja.Lines.GetItemByPayment(source.Oid); break; case EBankLineType.Cobro: lc = caja.Lines.GetItemByCharge(source.Oid); break; } if (lc == null) { CashLineInfo info = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: info = CashLineInfo.GetByPago(source.Oid); break; case EBankLineType.Cobro: info = CashLineInfo.GetByCobro(source.Oid); break; } if (info != null && info.OidCierre != 0) { throw new iQInfoException(Resources.Messages.LINEA_INCLUIDA_CIERRE, string.Empty, iQExceptionCode.WARNING); } if ((source is Payment && (oldSource as PaymentInfo).EEstadoPago == EEstado.Pendiente && (source as Payment).EEstadoPago == EEstado.Pagado) || (source is Charge && (oldSource as ChargeInfo).EEstadoCobro == EEstado.Pendiente && (source as Charge).EEstadoCobro == EEstado.Charged)) { InsertItem(source, sessionCode); } return; } lc.CopyFrom(source); if (source.ETipoMovimientoBanco == EBankLineType.PagoPrestamo) { Payment pago = (Payment)source; lc.Haber = pago.Importe + pago.GastosBancarios; } caja.UpdateSaldo(); caja.SaveAsChild(); } break; } }
public static void AnulaItem(IBankLine source, long oid_caja, int sessionCode) { switch (source.EMedioPago) { //Anulamos la salida de caja correspondiente case EMedioPago.Efectivo: { Cash caja = Cash.Get(oid_caja, sessionCode); CashLine lc = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: lc = caja.Lines.GetItemByPayment(source.Oid); break; case EBankLineType.Cobro: lc = caja.Lines.GetItemByCharge(source.Oid); break; } if (lc != null) { lc.EEstado = EEstado.Anulado; caja.UpdateSaldo(); caja.SaveAsChild(); //caja.CloseSession(); } else { CashLineInfo info = null; switch (source.ETipoMovimientoBanco) { case EBankLineType.PagoFactura: case EBankLineType.PagoGasto: case EBankLineType.PagoNomina: case EBankLineType.Prestamo: info = CashLineInfo.GetByPago(source.Oid); break; case EBankLineType.Cobro: info = CashLineInfo.GetByCobro(source.Oid); break; } if (info != null && info.OidCierre != 0) { throw new iQInfoException(Resources.Messages.LINEA_INCLUIDA_CIERRE); } } } break; } }
public static string SELECT(QueryConditions conditions) { return(CashLine.SELECT(conditions, false)); }