コード例 #1
0
        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;
        }
コード例 #2
0
        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);

        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 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);
 }
コード例 #6
0
        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 );
        }
コード例 #7
0
 static void ValidateAndThrowHttpError(this ComprobanteEgresoItem request,
                                                ComprobanteEgreso comprobante,
                                                Egreso egreso,string ruleSet)
 {
     request.ValidateAndThrowHttpError(new ComprobanteEgresoItem(), comprobante,
                                       egreso, ruleSet);
 }