Пример #1
0
 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));
     }
 }
Пример #2
0
        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;
            }
        }