コード例 #1
0
ファイル: BL.Ingreso.cs プロジェクト: aicl/Aicl.Galapago
        static void CheckOldAndNew(Ingreso oldData, Ingreso request,
                                           DALProxy proxy,
                                           int idUsuario)
        {
            oldData.ValidateAndThrowHttpError(Operaciones.Update);

            Ingresos egresos= new Ingresos(){Nuevo=request, Viejo=oldData};
            IngresosValidator ev = new IngresosValidator();
            ev.ValidateAndThrowHttpError(egresos,Operaciones.Update);

            oldData.CheckSucursal(proxy, idUsuario);

            var data = new Ingreso();
            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;
                var tercero=data.CheckTercero(proxy);
                data.NombreDocumentoTercero=tercero.NombreDocumento;
                data.NombreTercero=tercero.Nombre;
                data.DocumentoTercero=tercero.Documento;
                data.DVTercero= tercero.DigitoVerificacion;
            }
			            
            if(!request.Descripcion.IsNullOrEmpty() && request.Descripcion!=data.Descripcion)
                data.Descripcion=request.Descripcion;

            if(request.DiasCredito!=data.DiasCredito) data.DiasCredito=request.DiasCredito;

            request.PopulateWith(data);
        }