public static ComprobanteEgreso CreateComprobanteEgreso(DALProxy proxy, int idSucursal, int idCuentaGiradora, int idTercero, decimal valor, string descripcion, int? idTerceroReceptor=null, DateTime? fechaAsentado=null, bool? externo=false) { var today= DateTime.Today; var periodo= today.Year.ToString() + today.Month.ToString().PadLeft(2,'0'); ComprobanteEgreso ce = new ComprobanteEgreso(){ IdSucursal=idSucursal, IdCuentaGiradora= idCuentaGiradora, Fecha=today, Periodo= periodo, IdTercero=idTercero, Valor=valor, Descripcion=descripcion, IdTerceroReceptor= idTerceroReceptor.HasValue? idTerceroReceptor.Value: idTercero, FechaAsentado= fechaAsentado.HasValue?fechaAsentado.Value:fechaAsentado, //UTC ? Externo= externo.HasValue?externo.Value:false }; ce.Numero=proxy.GetNextConsecutivo(idSucursal, Definiciones.ComprobranteEgreso).Numero; proxy.Create(ce); return ce; }
static void CheckBeforePatch(ComprobanteEgreso oldData, ComprobanteEgreso request, DALProxy proxy, int idUsuario, string operacion) { oldData.ValidateAndThrowHttpError(operacion); CEs ces= new CEs(){Nuevo=request, Viejo=oldData}; CEsValidator ev = new CEsValidator(); ev.ValidateAndThrowHttpError(ces,operacion); oldData.CheckSucursal(proxy,idUsuario); oldData.CheckPeriodo(proxy); request.PopulateWith(oldData); }
private static void CheckOldAndNew(ComprobanteEgreso oldData, ComprobanteEgreso request, DALProxy proxy, int idUsuario) { oldData.ValidateAndThrowHttpError(Operaciones.Update); CEs ces= new CEs(){Nuevo=request, Viejo=oldData}; CEsValidator ev = new CEsValidator(); ev.ValidateAndThrowHttpError(ces,Operaciones.Update); oldData.CheckSucursal(proxy, idUsuario); var data = new ComprobanteEgreso(); data.PopulateWith(oldData); if( request.Fecha!=default(DateTime) && request.Fecha!=data.Fecha) { data.Fecha=request.Fecha; data.Periodo= data.Fecha.ObtenerPeriodo(); } data.CheckPeriodo(proxy); //if(request.IdTercero!=default(int) && request.IdTercero!=data.IdTercero) //{ // data.IdTercero=request.IdTercero; // data.CheckTercero(proxy); //} if(request.IdTerceroReceptor!=default(int) && request.IdTerceroReceptor!=data.IdTerceroReceptor ) { data.IdTerceroReceptor=request.IdTerceroReceptor; var tr= data.CheckTerceroReceptor(proxy); data.DocumentoReceptor= tr.Documento; data.NombreDocumentoReceptor= tr.NombreDocumento; data.NombreReceptor=tr.Nombre; data.DVReceptor= tr.DigitoVerificacion; } if(!request.Descripcion.IsNullOrEmpty() && request.Descripcion!=data.Descripcion) data.Descripcion=request.Descripcion; bool checkcg=false; if(request.IdCuentaGiradora!=default(int) && request.IdCuentaGiradora!=data.IdCuentaGiradora) { data.IdCuentaGiradora= request.IdCuentaGiradora; checkcg=true; } if((request.IdTerceroGiradora.HasValue && request.IdTerceroGiradora.Value!=default(int)) && ( !data.IdTerceroGiradora.HasValue || (data.IdTerceroGiradora.HasValue && request.IdTerceroGiradora.Value!=data.IdTerceroGiradora.Value))) { data.IdTerceroGiradora= request.IdTerceroGiradora; checkcg=true; } if(checkcg){ var pi = data.CheckUsuarioGiradora(proxy, idUsuario); data.CodigoItem= pi.Codigo; data.NombreItem = pi.Nombre; } request.PopulateWith(data); }
public static void ValidateAndThrowHttpError(this ComprobanteEgresoRetencion request, ComprobanteEgresoRetencion oldData, ComprobanteEgreso ce, ComprobanteEgresoItem cei, Egreso egreso, PresupuestoItem pi, string ruleSet) { EgresoCERet ret = new EgresoCERet(){ Egreso= egreso, Cei=cei, Ce=ce, OldRet= oldData, Ret= request, Pi=pi }; EgresoCERetValidator av = new EgresoCERetValidator(); av.ValidateAndThrowHttpError(ret, ruleSet); }
public static void ValidateAndThrowHttpError(this ComprobanteEgresoRetencion request, ComprobanteEgreso ce, ComprobanteEgresoItem cei, Egreso egreso, PresupuestoItem pi, string ruleSet) { request.ValidateAndThrowHttpError(new ComprobanteEgresoRetencion(), ce, cei, egreso, pi, ruleSet); }
static void ValidateAndThrowHttpError(this ComprobanteEgresoItem request, ComprobanteEgresoItem oldData, ComprobanteEgreso comprobante, Egreso egreso,string ruleSet) { EgresoCE ece= new EgresoCE(){ Egreso=egreso, Ce= comprobante, Cei= request, OldCei= oldData, }; EgresoCEValidator av = new EgresoCEValidator(); av.ValidateAndThrowHttpError(ece,ruleSet ); }
static void ValidateAndThrowHttpError(this ComprobanteEgresoItem request, ComprobanteEgreso comprobante, Egreso egreso,string ruleSet) { request.ValidateAndThrowHttpError(new ComprobanteEgresoItem(), comprobante, egreso, ruleSet); }