public IHttpActionResult Guardar(ProveedorCuentaCorriente pProveedorCuentaCorriente) { if (!ModelState.IsValid) { return(Content(HttpStatusCode.BadRequest, ModelState)); //BadRequest(ModelState); } try { DAL.ProveedoresCuentaCorriente.CRUDProveedorCuentaCorriente.instancia.Guardar(pProveedorCuentaCorriente); return(Content(HttpStatusCode.OK, "Registro guardado con éxito!")); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, ex.InnerException.Message)); } }
public bool Guardar(ProveedorCuentaCorriente pProveedorCuentaCorriente) { bool ret = true; ITransaction transaction = session.BeginTransaction(); try { DateTime fechaMov = Convert.ToDateTime(pProveedorCuentaCorriente.FechaMovimientoNormal); DateTime fechaRecibo = Convert.ToDateTime(pProveedorCuentaCorriente.FechaReciboNormal); pProveedorCuentaCorriente.FechaMovimiento = ConvertirFecha(fechaMov); pProveedorCuentaCorriente.FechaRecibo = ConvertirFecha(fechaRecibo); ProveedorCuentaCorriente proveedorCuentaCorriente = session.Get <ProveedorCuentaCorriente>(pProveedorCuentaCorriente.Interno); if (proveedorCuentaCorriente != null) { session.Merge(pProveedorCuentaCorriente); } else { session.Save(pProveedorCuentaCorriente); } int interno = pProveedorCuentaCorriente.Interno; //Pagos foreach (var item in pProveedorCuentaCorriente.CtaCtePagos) { item.InternoCtaCteProv = interno; var pago = session.Get <BE.ProveedoresCtaCte.CtaCtePagos>(item.Interno); if (pago == null) { session.Save(item); } else { session.Merge(item); } } // Retenciones foreach (var item in pProveedorCuentaCorriente.CtaCteRetenciones) { item.InternoCtaCteProv = interno; var retencion = session.Get <BE.ProveedoresCtaCte.CtaCteRetenciones> (item.Interno); if (retencion == null) { session.Save(item); } else { session.Merge(item); } } transaction.Commit(); session.Flush(); return(ret); } catch (Exception ex) { ret = false; throw ex; } }