public static Response<Ingreso> Post(this Ingreso request, Factory factory, IAuthSession authSession) { request.ValidateAndThrowHttpError(Operaciones.Create); var idUsuario = int.Parse(authSession.UserAuthId); request.Periodo= request.Fecha.ObtenerPeriodo(); factory.Execute(proxy=>{ var sucursal=request.CheckSucursal(proxy,idUsuario); var tercero=request.CheckTercero(proxy); request.CheckCodigoDocumento(proxy); request.CheckPeriodo(proxy); request.NombreSucursal=sucursal.Nombre; request.NombreTercero=tercero.Nombre; request.DocumentoTercero= tercero.Documento; request.NombreDocumentoTercero= tercero.NombreDocumento; request.DVTercero= tercero.DigitoVerificacion; using (proxy.AcquireLock(request.GetLockKeyConsecutivo(), Definiciones.LockSeconds)) { proxy.BeginDbTransaction(); request.AsignarConsecutivo(proxy); request.AsignarDocumento(proxy); request.Create(proxy); proxy.CommitDbTransaction(); } }); List<Ingreso> data = new List<Ingreso>(); data.Add(request); return new Response<Ingreso>(){ Data=data }; }
// TODO: No permitir Valor < 0 ??? confirmar .... seria una devolucion ? #region Post public static Response<ComprobanteEgreso> Post(this ComprobanteEgreso request, Factory factory, IAuthSession authSession) { if(request.IdTerceroReceptor==default(int)){ request.IdTerceroReceptor= request.IdTercero; } request.ValidateAndThrowHttpError(Operaciones.Create); var idUsuario = int.Parse(authSession.UserAuthId); request.Periodo= request.Fecha.ObtenerPeriodo(); factory.Execute(proxy=>{ var sucursal= request.CheckSucursal(proxy,idUsuario); var tercero =request.CheckTercero(proxy); Tercero tr = default(Tercero); if( request.IdTercero!=request.IdTerceroReceptor) tr= request.CheckTerceroReceptor(proxy); else tr=tercero; request.CheckPeriodo(proxy); var pi = request.CheckUsuarioGiradora(proxy,int.Parse(authSession.UserAuthId)); using (proxy.AcquireLock(request.GetLockKeyConsecutivo(), Definiciones.LockSeconds)) { proxy.BeginDbTransaction(); request.AsignarConsecutivo(proxy); request.Create(proxy); proxy.CommitDbTransaction(); } request.NombreSucursal=sucursal.Nombre; request.NombreTercero=tercero.Nombre; request.DocumentoTercero= tercero.Documento; request.NombreDocumentoTercero= tercero.NombreDocumento; request.DVTercero= tercero.DigitoVerificacion; request.DocumentoReceptor= tr.Documento; request.NombreDocumentoReceptor= tr.NombreDocumento; request.NombreReceptor=tr.Nombre; request.DVReceptor= tr.DigitoVerificacion; request.CodigoItem= pi.Codigo; request.NombreItem = pi.Nombre; }); var data = new List<ComprobanteEgreso>(); data.Add(request); return new Response<ComprobanteEgreso>(){ Data=data }; }
public static Response<Egreso> Post(this Egreso request, Factory factory, IAuthSession authSession) { request.ValidateAndThrowHttpError(Operaciones.Create); var idUsuario = int.Parse(authSession.UserAuthId); request.Periodo= request.Fecha.ObtenerPeriodo(); if(request.IdTerceroReceptor.HasValue && request.IdTerceroReceptor.Value==default(int)) request.IdTerceroReceptor=null; factory.Execute(proxy=>{ var sucursal=request.CheckSucursal(proxy,idUsuario); var tercero=request.CheckTercero(proxy); Tercero tr= default(Tercero); if(request.IdTerceroReceptor.HasValue) { if(request.IdTerceroReceptor!=request.IdTercero) tr= request.CheckTerceroReceptor(proxy); else tr= tercero; } request.CheckCodigoDocumento(proxy); request.CheckPeriodo(proxy); request.NombreSucursal=sucursal.Nombre; request.NombreTercero=tercero.Nombre; request.DocumentoTercero= tercero.Documento; request.NombreDocumentoTercero= tercero.NombreDocumento; request.DVTercero= tercero.DigitoVerificacion; if(tr!=default(Tercero)) { request.DocumentoReceptor= tr.Documento; request.NombreDocumentoReceptor= tr.NombreDocumento; request.NombreReceptor=tr.Nombre; request.DVReceptor= tr.DigitoVerificacion; } using (proxy.AcquireLock(request.GetLockKeyConsecutivo(), Definiciones.LockSeconds)) { // TODO : Revisar documento si es vacio y CC traer numero de Tercero proxy.BeginDbTransaction(); request.AsignarConsecutivo(proxy); request.Create(proxy); proxy.CommitDbTransaction(); } }); List<Egreso> data = new List<Egreso>(); data.Add(request); return new Response<Egreso>(){ Data=data }; }